// This file is auto generated from code run on the actual hardware
#include <cstdint>
#include <vector>

struct PackTestEntry { int32_t firstOp; int32_t secondOp; int32_t result; int32_t result32BitSaturated;
    int32_t result16BitASaturated; int32_t result16BitATruncated; int32_t result16BitBSaturated; int32_t result16BitBTruncated;    int32_t result8BitASaturated; int32_t result8BitATruncated; int32_t result8BitBSaturated; int32_t result8BitBTruncated;    int32_t result8BitCSaturated; int32_t result8BitCTruncated; int32_t result8BitDSaturated; int32_t result8BitDTruncated;    int32_t result8BitRepSaturated; int32_t result8BitRepTruncated; };

static const std::vector<PackTestEntry> TEST_PACK_ASR = {
    PackTestEntry{-2147483648, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-2147483648, 0, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-2147483648, 1, -1073741824, -1073741824, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1879048192, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1879048192, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32767, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-2147483648, 32768, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 127, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-2147483648, 128, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1065353216, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1082130432, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1073741824, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -268435456, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 0, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 1, 1073741823, 1073741823, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1879048192, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1879048192, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 32768, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 128, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1065353216, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1082130432, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1073741824, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -268435456, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 2147483647, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 0, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1879048192, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1879048192, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 32767, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 32768, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 127, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 128, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1065353216, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1082130432, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1073741824, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -268435456, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1, -2147483648, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 0, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1879048192, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1879048192, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 32768, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 128, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1065353216, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1082130432, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1073741824, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -268435456, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1879048192, -2147483648, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 0, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1, 939524096, 939524096, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 32768, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 128, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1065353216, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1082130432, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1073741824, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -268435456, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -2147483648, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 2147483647, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1879048192, 0, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1879048192, 1, -939524096, -939524096, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32767, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1879048192, 32768, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 127, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1879048192, 128, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1065353216, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1082130432, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1073741824, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -268435456, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -2147483648, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 0, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 1, 16383, 16383, 16383, 16383, 1073676288, 1073676288, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1879048192, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1879048192, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 32768, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 128, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1065353216, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1082130432, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1073741824, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -268435456, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, -2147483648, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 0, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1, 16384, 16384, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1879048192, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1879048192, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 128, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1065353216, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1082130432, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1073741824, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -268435456, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -2147483648, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 0, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 1, 63, 63, 63, 63, 4128768, 4128768, 63, 63, 16128, 16128, 4128768, 4128768, 1056964608, 1056964608, 1061109567, 1061109567},
    PackTestEntry{127, 1879048192, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1879048192, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 32768, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 128, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1065353216, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1082130432, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1073741824, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -268435456, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{128, -2147483648, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 0, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1, 64, 64, 64, 64, 4194304, 4194304, 64, 64, 16384, 16384, 4194304, 4194304, 1073741824, 1073741824, 1077952576, 1077952576},
    PackTestEntry{128, 1879048192, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1879048192, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 32768, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1065353216, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1082130432, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1073741824, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -268435456, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1065353216, -2147483648, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 0, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1, 532676608, 532676608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1879048192, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1879048192, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 32768, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 128, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1082130432, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1073741824, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -268435456, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -2147483648, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 2147483647, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, 0, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, 1, -541065216, -541065216, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1879048192, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1879048192, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32767, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, 32768, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 127, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, 128, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1065353216, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1073741824, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -268435456, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -2147483648, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 0, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1, 536870912, 536870912, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1879048192, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1879048192, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 32768, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 128, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1065353216, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1082130432, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -268435456, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -2147483648, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 2147483647, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, 0, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, 1, -134217728, -134217728, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1879048192, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1879048192, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32767, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, 32768, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 127, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, 128, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1065353216, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1082130432, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1073741824, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_AND = {
    PackTestEntry{-2147483648, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1879048192, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1082130432, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -268435456, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -1, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{2147483647, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -1879048192, 268435456, 268435456, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{2147483647, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{2147483647, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -1082130432, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -268435456, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{-1, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{-1, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 2147483647, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 32767, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 127, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 2147483647, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -1, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1879048192, 268435456, 268435456, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1065353216, 805306368, 805306368, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1082130432, 805306368, 805306368, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -268435456, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 2147483647, 268435456, 268435456, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1879048192, 268435456, 268435456, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1065353216, 268435456, 268435456, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -1082130432, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -268435456, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 2147483647, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -1, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{32767, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{32767, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{32767, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 2147483647, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 2147483647, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -1, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{127, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 32767, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 2147483647, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -1, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 32767, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 2147483647, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -1, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1879048192, 805306368, 805306368, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1879048192, 268435456, 268435456, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1082130432, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -268435456, 805306368, 805306368, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 2147483647, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1879048192, 805306368, 805306368, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -268435456, -1342177280, -1342177280, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 2147483647, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -1, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1879048192, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -268435456, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 2147483647, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1065353216, 805306368, 805306368, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -1082130432, -1342177280, -1342177280, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_NOT = {
    PackTestEntry{-2147483648, -2147483648, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -2147483648, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -2147483648, -2, -2, 65534, 65534, -131072, -131072, 0, 254, 0, 65024, 0, 16646144, 0, -33554432, 0, -16843010},
    PackTestEntry{1879048192, -2147483648, -1879048193, -1879048193, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1879048192, -2147483648, 1879048191, 1879048191, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -2147483648, -32768, -32768, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -2147483648, -32769, -32769, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{127, -2147483648, -128, -128, 65408, 65408, -8388608, -8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{128, -2147483648, -129, -129, 65407, 65407, -8454144, -8454144, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{1065353216, -2147483648, -1065353217, -1065353217, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, -2147483648, 1082130431, 1082130431, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1073741824, -2147483648, -1073741825, -1073741825, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, -2147483648, 268435455, 268435455, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
};

static const std::vector<PackTestEntry> TEST_PACK_OR = {
    PackTestEntry{-2147483648, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-2147483648, 0, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-2147483648, 1, -2147483647, -2147483647, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-2147483648, 1879048192, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32767, -2147450881, -2147450881, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-2147483648, 32768, -2147450880, -2147450880, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 127, -2147483521, -2147483521, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-2147483648, 128, -2147483520, -2147483520, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-2147483648, 1065353216, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1073741824, -1073741824, -1073741824, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 0, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 1, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1879048192, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1879048192, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 32767, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 32768, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 127, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 128, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1065353216, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1082130432, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 1073741824, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -268435456, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{0, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{0, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{0, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{0, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{0, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 2147483647, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 0, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1879048192, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1879048192, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 32767, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 32768, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 127, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 128, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1065353216, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1082130432, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1073741824, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -268435456, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1, -2147483648, -2147483647, -2147483647, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1, 0, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1879048192, 1879048193, 1879048193, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1, -1879048192, -1879048191, -1879048191, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1, 32768, 32769, 32769, 32767, 32769, 2147418112, -2147418112, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{1, 128, 129, 129, 129, 129, 8454144, 8454144, 129, 129, 33024, 33024, 8454144, 8454144, -2130706432, -2130706432, -2122219135, -2122219135},
    PackTestEntry{1, 1065353216, 1065353217, 1065353217, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1, -1082130432, -1082130431, -1082130431, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1, 1073741824, 1073741825, 1073741825, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1, -268435456, -268435455, -268435455, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1879048192, -2147483648, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1879048192, 0, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1879048192, 1, 1879048193, 1879048193, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1879048192, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1879048192, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 32767, 1879080959, 1879080959, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1879048192, 32768, 1879080960, 1879080960, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 127, 1879048319, 1879048319, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{1879048192, 128, 1879048320, 1879048320, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{1879048192, 1065353216, 2139095040, 2139095040, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1082130432, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1073741824, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -2147483648, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 2147483647, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1879048192, 0, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1879048192, 1, -1879048191, -1879048191, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-1879048192, 1879048192, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32767, -1879015425, -1879015425, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1879048192, 32768, -1879015424, -1879015424, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 127, -1879048065, -1879048065, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-1879048192, 128, -1879048064, -1879048064, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-1879048192, 1065353216, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1073741824, -805306368, -805306368, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -2147483648, -2147450881, -2147450881, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 0, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 1, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1879048192, 1879080959, 1879080959, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1879048192, -1879015425, -1879015425, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 32768, 65535, 65535, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 127, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 128, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1065353216, 1065385983, 1065385983, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1082130432, -1082097665, -1082097665, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 1073741824, 1073774591, 1073774591, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -268435456, -268402689, -268402689, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32768, -2147483648, -2147450880, -2147450880, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, 0, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32768, 1, 32769, 32769, 32767, 32769, 2147418112, -2147418112, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{32768, 1879048192, 1879080960, 1879080960, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1879048192, -1879015424, -1879015424, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 32767, 65535, 65535, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 127, 32895, 32895, 32767, 32895, 2147418112, -2139160576, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{32768, 128, 32896, 32896, 32767, 32896, 2147418112, -2139095040, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{32768, 1065353216, 1065385984, 1065385984, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1082130432, -1082097664, -1082097664, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1073741824, 1073774592, 1073774592, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -268435456, -268402688, -268402688, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -2147483648, -2147483521, -2147483521, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{127, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{127, 0, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{127, 1, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1879048192, 1879048319, 1879048319, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{127, -1879048192, -1879048065, -1879048065, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{127, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{127, 32768, 32895, 32895, 32767, 32895, 2147418112, -2139160576, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{127, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 128, 255, 255, 255, 255, 16711680, 16711680, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{127, 1065353216, 1065353343, 1065353343, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{127, -1082130432, -1082130305, -1082130305, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{127, 1073741824, 1073741951, 1073741951, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{127, -268435456, -268435329, -268435329, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{128, -2147483648, -2147483520, -2147483520, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{128, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{128, 0, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{128, 1, 129, 129, 129, 129, 8454144, 8454144, 129, 129, 33024, 33024, 8454144, 8454144, -2130706432, -2130706432, -2122219135, -2122219135},
    PackTestEntry{128, 1879048192, 1879048320, 1879048320, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, -1879048192, -1879048064, -1879048064, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{128, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{128, 32768, 32896, 32896, 32767, 32896, 2147418112, -2139095040, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, 127, 255, 255, 255, 255, 16711680, 16711680, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{128, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1065353216, 1065353344, 1065353344, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, -1082130432, -1082130304, -1082130304, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{128, 1073741824, 1073741952, 1073741952, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, -268435456, -268435328, -268435328, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{1065353216, -2147483648, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1065353216, 0, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1065353216, 1, 1065353217, 1065353217, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1065353216, 1879048192, 2139095040, 2139095040, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1879048192, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 32767, 1065385983, 1065385983, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1065353216, 32768, 1065385984, 1065385984, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 127, 1065353343, 1065353343, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{1065353216, 128, 1065353344, 1065353344, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{1065353216, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1073741824, 2139095040, 2139095040, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -268435456, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -2147483648, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 2147483647, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, 0, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, 1, -1082130431, -1082130431, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-1082130432, 1879048192, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1879048192, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32767, -1082097665, -1082097665, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, 32768, -1082097664, -1082097664, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 127, -1082130305, -1082130305, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-1082130432, 128, -1082130304, -1082130304, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-1082130432, 1065353216, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1073741824, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -268435456, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -2147483648, -1073741824, -1073741824, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1073741824, 0, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1073741824, 1, 1073741825, 1073741825, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1073741824, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1879048192, -805306368, -805306368, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 32767, 1073774591, 1073774591, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1073741824, 32768, 1073774592, 1073774592, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 127, 1073741951, 1073741951, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{1073741824, 128, 1073741952, 1073741952, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{1073741824, 1065353216, 2139095040, 2139095040, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1082130432, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -2147483648, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 2147483647, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, 0, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, 1, -268435455, -268435455, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-268435456, 1879048192, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1879048192, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32767, -268402689, -268402689, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, 32768, -268402688, -268402688, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 127, -268435329, -268435329, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-268435456, 128, -268435328, -268435328, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-268435456, 1065353216, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1082130432, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1073741824, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_XOR = {
    PackTestEntry{-2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-2147483648, 0, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-2147483648, 1, -2147483647, -2147483647, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-2147483648, 1879048192, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1879048192, 268435456, 268435456, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, 32767, -2147450881, -2147450881, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-2147483648, 32768, -2147450880, -2147450880, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 127, -2147483521, -2147483521, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-2147483648, 128, -2147483520, -2147483520, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-2147483648, 1065353216, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1082130432, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, 1073741824, -1073741824, -1073741824, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -268435456, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -2147483648, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 0, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 1, 2147483646, 2147483646, 32767, 65534, 2147418112, -131072, 255, 254, 65280, 65024, 16711680, 16646144, -16777216, -33554432, -1, -16843010},
    PackTestEntry{2147483647, 1879048192, 268435455, 268435455, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1879048192, -268435457, -268435457, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 32767, 2147450880, 2147450880, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 32768, 2147450879, 2147450879, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 127, 2147483520, 2147483520, 32767, 65408, 2147418112, -8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{2147483647, 128, 2147483519, 2147483519, 32767, 65407, 2147418112, -8454144, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{2147483647, 1065353216, 1082130431, 1082130431, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1082130432, -1065353217, -1065353217, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 1073741824, 1073741823, 1073741823, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -268435456, -1879048193, -1879048193, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{0, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{0, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{0, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{0, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{0, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 2147483647, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 0, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 1, -2, -2, 65534, 65534, -131072, -131072, 0, 254, 0, 65024, 0, 16646144, 0, -33554432, 0, -16843010},
    PackTestEntry{-1, 1879048192, -1879048193, -1879048193, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1879048192, 1879048191, 1879048191, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 32767, -32768, -32768, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 32768, -32769, -32769, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 127, -128, -128, 65408, 65408, -8388608, -8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-1, 128, -129, -129, 65407, 65407, -8454144, -8454144, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-1, 1065353216, -1065353217, -1065353217, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1082130432, 1082130431, 1082130431, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 1073741824, -1073741825, -1073741825, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -268435456, 268435455, 268435455, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1, -2147483648, -2147483647, -2147483647, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1, 2147483647, 2147483646, 2147483646, 32767, 65534, 2147418112, -131072, 255, 254, 65280, 65024, 16711680, 16646144, -16777216, -33554432, -1, -16843010},
    PackTestEntry{1, 0, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1, -2, -2, 65534, 65534, -131072, -131072, 0, 254, 0, 65024, 0, 16646144, 0, -33554432, 0, -16843010},
    PackTestEntry{1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1879048192, 1879048193, 1879048193, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1, -1879048192, -1879048191, -1879048191, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1, 32767, 32766, 32766, 32766, 32766, 2147352576, 2147352576, 255, 254, 65280, 65024, 16711680, 16646144, -16777216, -33554432, -1, -16843010},
    PackTestEntry{1, 32768, 32769, 32769, 32767, 32769, 2147418112, -2147418112, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1, 127, 126, 126, 126, 126, 8257536, 8257536, 126, 126, 32256, 32256, 8257536, 8257536, 2113929216, 2113929216, 2122219134, 2122219134},
    PackTestEntry{1, 128, 129, 129, 129, 129, 8454144, 8454144, 129, 129, 33024, 33024, 8454144, 8454144, -2130706432, -2130706432, -2122219135, -2122219135},
    PackTestEntry{1, 1065353216, 1065353217, 1065353217, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1, -1082130432, -1082130431, -1082130431, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1, 1073741824, 1073741825, 1073741825, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1, -268435456, -268435455, -268435455, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1879048192, -2147483648, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 2147483647, 268435455, 268435455, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1879048192, 0, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1, -1879048193, -1879048193, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1879048192, 1, 1879048193, 1879048193, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1879048192, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -1879048192, -536870912, -536870912, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 32767, 1879080959, 1879080959, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1879048192, 32768, 1879080960, 1879080960, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 127, 1879048319, 1879048319, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{1879048192, 128, 1879048320, 1879048320, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{1879048192, 1065353216, 1333788672, 1333788672, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1082130432, -813694976, -813694976, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1073741824, 805306368, 805306368, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -268435456, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -2147483648, 268435456, 268435456, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 2147483647, -268435457, -268435457, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1879048192, 0, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, 1879048191, 1879048191, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1879048192, 1, -1879048191, -1879048191, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-1879048192, 1879048192, -536870912, -536870912, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32767, -1879015425, -1879015425, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1879048192, 32768, -1879015424, -1879015424, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 127, -1879048065, -1879048065, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-1879048192, 128, -1879048064, -1879048064, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-1879048192, 1065353216, -1350565888, -1350565888, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1082130432, 796917760, 796917760, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 1073741824, -805306368, -805306368, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -268435456, 1610612736, 1610612736, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, -2147483648, -2147450881, -2147450881, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 2147483647, 2147450880, 2147450880, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, 0, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1, -32768, -32768, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 1, 32766, 32766, 32766, 32766, 2147352576, 2147352576, 255, 254, 65280, 65024, 16711680, 16646144, -16777216, -33554432, -1, -16843010},
    PackTestEntry{32767, 1879048192, 1879080959, 1879080959, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1879048192, -1879015425, -1879015425, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 32768, 65535, 65535, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 127, 32640, 32640, 32640, 32640, 2139095040, 2139095040, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{32767, 128, 32639, 32639, 32639, 32639, 2139029504, 2139029504, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{32767, 1065353216, 1065385983, 1065385983, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1082130432, -1082097665, -1082097665, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 1073741824, 1073774591, 1073774591, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -268435456, -268402689, -268402689, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32768, -2147483648, -2147450880, -2147450880, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 2147483647, 2147450879, 2147450879, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, 0, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1, -32769, -32769, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32768, 1, 32769, 32769, 32767, 32769, 2147418112, -2147418112, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{32768, 1879048192, 1879080960, 1879080960, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1879048192, -1879015424, -1879015424, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 32767, 65535, 65535, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 127, 32895, 32895, 32767, 32895, 2147418112, -2139160576, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{32768, 128, 32896, 32896, 32767, 32896, 2147418112, -2139095040, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{32768, 1065353216, 1065385984, 1065385984, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1082130432, -1082097664, -1082097664, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1073741824, 1073774592, 1073774592, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -268435456, -268402688, -268402688, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -2147483648, -2147483521, -2147483521, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{127, 2147483647, 2147483520, 2147483520, 32767, 65408, 2147418112, -8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{127, 0, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1, -128, -128, 65408, 65408, -8388608, -8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{127, 1, 126, 126, 126, 126, 8257536, 8257536, 126, 126, 32256, 32256, 8257536, 8257536, 2113929216, 2113929216, 2122219134, 2122219134},
    PackTestEntry{127, 1879048192, 1879048319, 1879048319, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{127, -1879048192, -1879048065, -1879048065, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{127, 32767, 32640, 32640, 32640, 32640, 2139095040, 2139095040, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{127, 32768, 32895, 32895, 32767, 32895, 2147418112, -2139160576, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 128, 255, 255, 255, 255, 16711680, 16711680, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{127, 1065353216, 1065353343, 1065353343, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{127, -1082130432, -1082130305, -1082130305, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{127, 1073741824, 1073741951, 1073741951, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{127, -268435456, -268435329, -268435329, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{128, -2147483648, -2147483520, -2147483520, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{128, 2147483647, 2147483519, 2147483519, 32767, 65407, 2147418112, -8454144, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{128, 0, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1, -129, -129, 65407, 65407, -8454144, -8454144, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{128, 1, 129, 129, 129, 129, 8454144, 8454144, 129, 129, 33024, 33024, 8454144, 8454144, -2130706432, -2130706432, -2122219135, -2122219135},
    PackTestEntry{128, 1879048192, 1879048320, 1879048320, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, -1879048192, -1879048064, -1879048064, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{128, 32767, 32639, 32639, 32639, 32639, 2139029504, 2139029504, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{128, 32768, 32896, 32896, 32767, 32896, 2147418112, -2139095040, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, 127, 255, 255, 255, 255, 16711680, 16711680, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1065353216, 1065353344, 1065353344, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, -1082130432, -1082130304, -1082130304, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{128, 1073741824, 1073741952, 1073741952, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, -268435456, -268435328, -268435328, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{1065353216, -2147483648, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 2147483647, 1082130431, 1082130431, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1065353216, 0, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1, -1065353217, -1065353217, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1065353216, 1, 1065353217, 1065353217, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1065353216, 1879048192, 1333788672, 1333788672, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1879048192, -1350565888, -1350565888, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 32767, 1065385983, 1065385983, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1065353216, 32768, 1065385984, 1065385984, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 127, 1065353343, 1065353343, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{1065353216, 128, 1065353344, 1065353344, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{1065353216, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -1082130432, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1073741824, 2139095040, 2139095040, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -268435456, -813694976, -813694976, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -2147483648, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 2147483647, -1065353217, -1065353217, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, 0, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, 1082130431, 1082130431, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1082130432, 1, -1082130431, -1082130431, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-1082130432, 1879048192, -813694976, -813694976, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1879048192, 796917760, 796917760, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 32767, -1082097665, -1082097665, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, 32768, -1082097664, -1082097664, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 127, -1082130305, -1082130305, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-1082130432, 128, -1082130304, -1082130304, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-1082130432, 1065353216, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1073741824, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -268435456, 1333788672, 1333788672, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -2147483648, -1073741824, -1073741824, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 2147483647, 1073741823, 1073741823, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1073741824, 0, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1, -1073741825, -1073741825, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1073741824, 1, 1073741825, 1073741825, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1073741824, 1879048192, 805306368, 805306368, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1879048192, -805306368, -805306368, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 32767, 1073774591, 1073774591, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1073741824, 32768, 1073774592, 1073774592, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 127, 1073741951, 1073741951, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{1073741824, 128, 1073741952, 1073741952, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{1073741824, 1065353216, 2139095040, 2139095040, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1082130432, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -268435456, -1342177280, -1342177280, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -2147483648, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 2147483647, -1879048193, -1879048193, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, 0, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, 268435455, 268435455, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-268435456, 1, -268435455, -268435455, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-268435456, 1879048192, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1879048192, 1610612736, 1610612736, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 32767, -268402689, -268402689, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, 32768, -268402688, -268402688, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 127, -268435329, -268435329, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-268435456, 128, -268435328, -268435328, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-268435456, 1065353216, -813694976, -813694976, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1082130432, 1333788672, 1333788672, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 1073741824, -1342177280, -1342177280, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_CLZ = {
    PackTestEntry{-2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{0, -2147483648, 32, 32, 32, 32, 2097152, 2097152, 32, 32, 8192, 8192, 2097152, 2097152, 536870912, 536870912, 538976288, 538976288},
    PackTestEntry{-1, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -2147483648, 31, 31, 31, 31, 2031616, 2031616, 31, 31, 7936, 7936, 2031616, 2031616, 520093696, 520093696, 522133279, 522133279},
    PackTestEntry{1879048192, -2147483648, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1879048192, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -2147483648, 17, 17, 17, 17, 1114112, 1114112, 17, 17, 4352, 4352, 1114112, 1114112, 285212672, 285212672, 286331153, 286331153},
    PackTestEntry{32768, -2147483648, 16, 16, 16, 16, 1048576, 1048576, 16, 16, 4096, 4096, 1048576, 1048576, 268435456, 268435456, 269488144, 269488144},
    PackTestEntry{127, -2147483648, 25, 25, 25, 25, 1638400, 1638400, 25, 25, 6400, 6400, 1638400, 1638400, 419430400, 419430400, 421075225, 421075225},
    PackTestEntry{128, -2147483648, 24, 24, 24, 24, 1572864, 1572864, 24, 24, 6144, 6144, 1572864, 1572864, 402653184, 402653184, 404232216, 404232216},
    PackTestEntry{1065353216, -2147483648, 2, 2, 2, 2, 131072, 131072, 2, 2, 512, 512, 131072, 131072, 33554432, 33554432, 33686018, 33686018},
    PackTestEntry{-1082130432, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -2147483648, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-268435456, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_FADD = {
    PackTestEntry{-2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 2147483647, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 0, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -1, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 1, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 1879048192, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -1879048192, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 32767, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 32768, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 127, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 128, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 1065353216, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -1082130432, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 1073741824, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -268435456, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 2147483647, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, 0, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -1, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 1, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 1879048192, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -1879048192, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 32767, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 32768, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 127, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 128, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 1065353216, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -1082130432, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 1073741824, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -268435456, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 2147483647, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -1, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -2147483648, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 2147483647, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 0, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1879048192, 1887436800, 1887436800, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1879048192, 1879048191, 1879048191, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1879048192, 32767, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 32768, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 127, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 128, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1065353216, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1082130432, 1879048191, 1879048191, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1879048192, 1073741824, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -2147483648, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 2147483647, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 0, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1879048192, 1879048191, 1879048191, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1879048192, -1879048192, -1870659584, -1870659584, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32767, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32768, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 127, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 128, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1065353216, 1065353215, 1065353215, 15360, 15360, 1006632960, 1006632960, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1879048192, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1073741824, 1073741823, 1073741823, 16384, 16384, 1073741824, 1073741824, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1879048192, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 2147483647, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -1, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 2147483647, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 2147483647, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -1, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 2147483647, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -1, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -2147483648, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 2147483647, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 0, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1879048192, 1065353215, 1065353215, 15360, 15360, 1006632960, 1006632960, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1065353216, 32767, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 32768, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 127, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 128, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1065353216, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1073741824, 1077936128, 1077936128, 16896, 16896, 1107296256, 1107296256, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -268435456, -268435457, -268435457, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, -2147483648, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 2147483647, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 0, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1879048192, 1879048191, 1879048191, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1082130432, -1879048192, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32767, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32768, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 127, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 128, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1082130432, -1073741824, -1073741824, 49152, 49152, -1073741824, -1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1073741824, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -2147483648, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 2147483647, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 0, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1879048192, 1073741823, 1073741823, 16384, 16384, 1073741824, 1073741824, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1073741824, 32767, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 32768, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 127, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 128, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1065353216, 1077936128, 1077936128, 16896, 16896, 1107296256, 1107296256, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1073741824, 1082130432, 1082130432, 17408, 17408, 1140850688, 1140850688, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -268435456, -268435457, -268435457, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, -2147483648, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 2147483647, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 0, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1879048192, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32767, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32768, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 127, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 128, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1065353216, -268435457, -268435457, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, -1082130432, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1073741824, -268435457, -268435457, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, -268435456, -260046848, -260046848, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_FMAX = {
    PackTestEntry{-2147483648, -2147483648, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-2147483648, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, -1879048192, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-2147483648, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{-2147483648, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{-2147483648, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, -1082130432, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, -268435456, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 0, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1879048192, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1879048192, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 32767, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 32768, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 127, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 128, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1065353216, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1082130432, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1073741824, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -268435456, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, -2147483648, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{0, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{0, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{0, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -1, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{-1, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{-1, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -2147483648, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, -1879048192, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{1, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, -1082130432, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, -268435456, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1879048192, -2147483648, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1879048192, 0, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 32767, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 32768, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 127, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 128, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1065353216, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1082130432, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1073741824, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -2147483648, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1879048192, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1879048192, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{-1879048192, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{-1879048192, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -1082130432, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -268435456, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -2147483648, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 0, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, -1879048192, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, 127, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 128, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, -1082130432, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, -268435456, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, -2147483648, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, 0, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1879048192, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 32767, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 127, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 128, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1082130432, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -268435456, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -2147483648, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{127, 0, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -1879048192, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{127, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{127, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -1082130432, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -268435456, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{128, -2147483648, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{128, 0, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, -1879048192, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{128, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, 127, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, -1082130432, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, -268435456, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1065353216, -2147483648, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1065353216, 0, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1879048192, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 32767, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 32768, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 127, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 128, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -268435456, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -2147483648, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1082130432, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1082130432, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{-1082130432, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{-1082130432, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -268435456, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -2147483648, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1073741824, 0, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1879048192, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 32767, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 32768, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 127, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 128, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1065353216, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1082130432, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -268435456, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -2147483648, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-268435456, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-268435456, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{-268435456, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{-268435456, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_FMAXABS = {
    PackTestEntry{-2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-2147483648, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-2147483648, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-2147483648, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{-2147483648, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{-2147483648, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -2147483648, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 0, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1879048192, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1879048192, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 32767, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 32768, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 127, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 128, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1065353216, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1082130432, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1073741824, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -268435456, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{0, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{0, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{0, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, -2147483648, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 0, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, -1, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 1, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 1879048192, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, -1879048192, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 32767, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 32768, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 127, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 128, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 1065353216, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, -1082130432, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 1073741824, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, -268435456, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1, -2147483648, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{1, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -2147483648, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1879048192, 0, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1879048192, 1, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 32767, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 32768, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 127, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 128, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1065353216, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1082130432, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1073741824, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -2147483648, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1879048192, 0, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -1, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1879048192, 1, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 32767, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 32768, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 127, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 128, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, -2147483648, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 0, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, 127, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 128, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -2147483648, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, 0, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, 1, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 32767, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 127, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 128, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -2147483648, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{127, 0, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{127, 1, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{127, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{127, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, -2147483648, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{128, 0, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{128, 1, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{128, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, 127, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -2147483648, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1065353216, 0, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1065353216, 1, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1879048192, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 32767, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 32768, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 127, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 128, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -2147483648, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1082130432, 0, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -1, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1082130432, 1, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -1879048192, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 32767, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 32768, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 127, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 128, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -2147483648, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1073741824, 0, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1073741824, 1, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1879048192, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 32767, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 32768, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 127, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 128, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1065353216, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1082130432, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -2147483648, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-268435456, 0, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -1, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-268435456, 1, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 32767, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 32768, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 127, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 128, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 1065353216, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -1082130432, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 1073741824, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_FMIN = {
    PackTestEntry{-2147483648, -2147483648, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 0, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-2147483648, 1, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1879048192, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32767, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 127, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 128, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1065353216, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1073741824, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -1, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{2147483647, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{2147483647, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{2147483647, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 2147483647, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 0, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1879048192, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1879048192, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 32767, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 32768, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 127, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 128, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1065353216, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1082130432, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1073741824, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -268435456, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1, -2147483648, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 2147483647, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -1, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1879048192, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 32767, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 32768, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 127, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 128, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1065353216, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1073741824, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -2147483648, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 2147483647, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -1, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1879048192, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1879048192, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1879048192, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{1879048192, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1879048192, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -2147483648, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 2147483647, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 0, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1879048192, 1, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32767, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32768, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 127, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 128, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1065353216, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1073741824, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -2147483648, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 2147483647, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -1, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{32767, 1879048192, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 32768, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{32767, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{32767, 1065353216, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 1073741824, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -2147483648, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 2147483647, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32768, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{32768, 1879048192, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{32768, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{32768, 1065353216, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1073741824, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -2147483648, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 2147483647, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -1, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{127, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{127, 1879048192, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 32767, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 32768, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 128, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1065353216, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 1073741824, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -2147483648, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 2147483647, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -1, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{128, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{128, 1879048192, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 32767, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 32768, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{128, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1065353216, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1073741824, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -2147483648, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 2147483647, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -1, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1065353216, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1065353216, 1879048192, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1065353216, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{1065353216, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1065353216, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1073741824, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -2147483648, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 2147483647, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 0, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, 1, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1879048192, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1879048192, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32767, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32768, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 127, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 128, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1065353216, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1073741824, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -2147483648, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 2147483647, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -1, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1073741824, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1073741824, 1879048192, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1073741824, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{1073741824, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1073741824, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -2147483648, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 2147483647, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 0, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, -1, -1, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, 1, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1879048192, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1879048192, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32767, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32768, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 127, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 128, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1065353216, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1082130432, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1073741824, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_FMINABS = {
    PackTestEntry{-2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -1, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{2147483647, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{2147483647, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{2147483647, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 2147483647, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -1, 2147483647, 2147483647, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{-1, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{-1, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 2147483647, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1879048192, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1879048192, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 32767, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 32768, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 127, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 128, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1065353216, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1082130432, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1073741824, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -268435456, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1879048192, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 2147483647, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -1, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1879048192, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1879048192, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{1879048192, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1879048192, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 2147483647, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1879048192, 1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1879048192, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{-1879048192, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{-1879048192, 1065353216, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -1082130432, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 1073741824, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -268435456, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 2147483647, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -1, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{32767, 1879048192, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1879048192, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 32768, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{32767, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{32767, 1065353216, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1082130432, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1073741824, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -268435456, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 2147483647, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{32768, 1879048192, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1879048192, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{32768, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{32768, 1065353216, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1082130432, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1073741824, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -268435456, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 2147483647, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -1, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{127, 1879048192, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1879048192, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 32767, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 32768, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 128, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1065353216, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1082130432, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1073741824, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -268435456, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{128, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 2147483647, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -1, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{128, 1879048192, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1879048192, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 32767, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 32768, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{128, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1065353216, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1082130432, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1073741824, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -268435456, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1065353216, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 2147483647, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -1, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1065353216, 1879048192, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1065353216, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{1065353216, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1065353216, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1073741824, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -268435456, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 2147483647, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1082130432, 1879048192, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1082130432, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{-1082130432, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{-1082130432, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 1073741824, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -268435456, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 2147483647, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -1, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1073741824, 1879048192, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1073741824, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{1073741824, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1073741824, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -268435456, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 2147483647, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 1, 1, 1, 0, 0, 0, 0, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-268435456, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 32767, 32767, 32767, 0, 0, 0, 0, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-268435456, 32768, 32768, 32768, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 127, 127, 127, 0, 0, 0, 0, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{-268435456, 128, 128, 128, 0, 0, 0, 0, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{-268435456, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_FMUL = {
    PackTestEntry{-2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 2147483647, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -1, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 1879048192, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -1879048192, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 1065353216, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -1082130432, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 1073741824, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -268435456, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 2147483647, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -1, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 1879048192, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -1879048192, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 1065353216, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -1082130432, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, 1073741824, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -268435456, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 2147483647, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -1, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1879048192, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1879048192, -1065353216, -1065353216, 50176, 50176, -1006632960, -1006632960, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1065353216, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1082130432, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1073741824, 1887436800, 1887436800, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -268435456, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 2147483647, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1879048192, -1065353216, -1065353216, 50176, 50176, -1006632960, -1006632960, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1065353216, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1082130432, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 1073741824, -1870659584, -1870659584, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -268435456, 1082130432, 1082130432, 17408, 17408, 1140850688, 1140850688, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 2147483647, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -1, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1879048192, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1082130432, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1073741824, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -268435456, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 2147483647, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1879048192, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1065353216, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 1073741824, -1073741824, -1073741824, 49152, 49152, -1073741824, -1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 2147483647, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -1, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1879048192, 1887436800, 1887436800, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1879048192, -1870659584, -1870659584, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1065353216, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1082130432, -1073741824, -1073741824, 49152, 49152, -1073741824, -1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1073741824, 1082130432, 1082130432, 17408, 17408, 1140850688, 1140850688, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -268435456, -260046848, -260046848, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 2147483647, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1879048192, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1879048192, 1082130432, 1082130432, 17408, 17408, 1140850688, 1140850688, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1065353216, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1082130432, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 1073741824, -260046848, -260046848, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -268435456, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_FSUB = {
    PackTestEntry{-2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1879048192, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1065353216, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, 1073741824, -1073741824, -1073741824, 49152, 49152, -1073741824, -1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -2147483648, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 2147483647, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 0, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -1, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 1, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 1879048192, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -1879048192, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 32767, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 32768, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 127, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 128, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 1065353216, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -1082130432, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 1073741824, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -268435456, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1879048192, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1065353216, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, 1073741824, -1073741824, -1073741824, 49152, 49152, -1073741824, -1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, -2147483648, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 2147483647, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 0, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -1, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, 1, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 1879048192, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -1879048192, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 32767, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 32768, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 127, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 128, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 1065353216, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -1082130432, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 1073741824, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -268435456, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 2147483647, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -1, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1879048192, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1065353216, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, 1073741824, -1073741824, -1073741824, 49152, 49152, -1073741824, -1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -2147483648, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 2147483647, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 0, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -1879048192, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 32767, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 32768, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 127, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 128, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1065353216, 1879048191, 1879048191, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1879048192, -1082130432, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1073741824, 1879048191, 1879048191, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1879048192, -268435456, 1887436800, 1887436800, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -2147483648, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 2147483647, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 0, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 1, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1879048192, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32767, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32768, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 127, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 128, -1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1065353216, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1082130432, 1065353215, 1065353215, 15360, 15360, 1006632960, 1006632960, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1879048192, 1073741824, -1073741824, -1073741824, 49152, 49152, -1073741824, -1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -268435456, 1879048191, 1879048191, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 2147483647, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -1, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 1879048192, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 1065353216, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, 1073741824, -1073741824, -1073741824, 49152, 49152, -1073741824, -1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 2147483647, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1879048192, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1065353216, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1073741824, -1073741824, -1073741824, 49152, 49152, -1073741824, -1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 2147483647, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -1, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 1879048192, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 1065353216, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, 1073741824, -1073741824, -1073741824, 49152, 49152, -1073741824, -1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 2147483647, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -1, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1879048192, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -1879048192, 268435456, 268435456, 0, 0, 0, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1065353216, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -1082130432, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, 1073741824, -1073741824, -1073741824, 49152, 49152, -1073741824, -1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -2147483648, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 2147483647, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 0, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1879048192, -268435457, -268435457, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1065353216, -1879048192, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 32767, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 32768, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 127, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 128, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -1082130432, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1073741824, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -2147483648, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 2147483647, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 0, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 1, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1879048192, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1879048192, -1082130433, -1082130433, 48128, 48128, -1140850688, -1140850688, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, 32767, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32768, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 127, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 128, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1065353216, -1073741824, -1073741824, 49152, 49152, -1073741824, -1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1073741824, -1069547520, -1069547520, 49664, 49664, -1040187392, -1040187392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -268435456, 1879048191, 1879048191, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1073741824, -2147483648, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 2147483647, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 0, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1879048192, -268435457, -268435457, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1073741824, -1879048192, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 32767, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 32768, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 127, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 128, 1073741824, 1073741824, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1065353216, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1082130432, 1077936128, 1077936128, 16896, 16896, 1107296256, 1107296256, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -268435456, 1879048192, 1879048192, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -2147483648, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 2147483647, -8388608, -8388608, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 0, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, 2139095040, 2139095040, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 1, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1879048192, -260046848, -260046848, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1879048192, -268435457, -268435457, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, 32767, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32768, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 127, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 128, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1065353216, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1082130432, -268435457, -268435457, 64512, 64512, -67108864, -67108864, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, 1073741824, -268435456, -268435456, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_FTOI = {
    PackTestEntry{-2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -2147483648, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1082130432, -2147483648, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1073741824, -2147483648, 2, 2, 2, 2, 131072, 131072, 2, 2, 512, 512, 131072, 131072, 33554432, 33554432, 33686018, 33686018},
    PackTestEntry{-268435456, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_ADD = {
    PackTestEntry{-2147483648, -2147483648, 0, -2147483648, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-2147483648, 0, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, 2147483647, -2147483648, 0, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1, -2147483647, -2147483647, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-2147483648, 1879048192, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1879048192, 268435456, -2147483648, 0, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32767, -2147450881, -2147450881, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-2147483648, 32768, -2147450880, -2147450880, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 127, -2147483521, -2147483521, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-2147483648, 128, -2147483520, -2147483520, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-2147483648, 1065353216, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1082130432, 1065353216, -2147483648, 0, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1073741824, -1073741824, -1073741824, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -268435456, 1879048192, -2147483648, 0, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 2147483647, -2, 2147483647, 32767, 32767, 2147418112, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 0, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1, 2147483646, 2147483646, 32767, 65534, 2147418112, -131072, 255, 254, 65280, 65024, 16711680, 16646144, -16777216, -33554432, -1, -16843010},
    PackTestEntry{2147483647, 1, -2147483648, 2147483647, 0, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 1879048192, -268435457, 2147483647, 0, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, -1879048192, 268435455, 268435455, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 32767, -2147450882, 2147483647, 0, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 32768, -2147450881, 2147483647, 0, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 127, -2147483522, 2147483647, 0, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 128, -2147483521, 2147483647, 0, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 1065353216, -1082130433, 2147483647, 0, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, -1082130432, 1065353215, 1065353215, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1073741824, -1073741825, 2147483647, 0, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, -268435456, 1879048191, 1879048191, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{0, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{0, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{0, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{0, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, 2147483647, -2147483648, 0, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 2147483647, 2147483646, 2147483646, 32767, 65534, 2147418112, -131072, 255, 254, 65280, 65024, 16711680, 16646144, -16777216, -33554432, -1, -16843010},
    PackTestEntry{-1, 0, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1, -2, -2, 65534, 65534, -131072, -131072, 0, 254, 0, 65024, 0, 16646144, 0, -33554432, 0, -16843010},
    PackTestEntry{-1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 1879048192, 1879048191, 1879048191, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, -1879048192, -1879048193, -1879048193, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 32767, 32766, 32766, 32766, 32766, 2147352576, 2147352576, 255, 254, 65280, 65024, 16711680, 16646144, -16777216, -33554432, -1, -16843010},
    PackTestEntry{-1, 32768, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 127, 126, 126, 126, 126, 8257536, 8257536, 126, 126, 32256, 32256, 8257536, 8257536, 2113929216, 2113929216, 2122219134, 2122219134},
    PackTestEntry{-1, 128, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{-1, 1065353216, 1065353215, 1065353215, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, -1082130432, -1082130433, -1082130433, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1073741824, 1073741823, 1073741823, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, -268435456, -268435457, -268435457, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1, -2147483648, -2147483647, -2147483647, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1, 2147483647, -2147483648, 2147483647, 0, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1, 0, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1, 2, 2, 2, 2, 131072, 131072, 2, 2, 512, 512, 131072, 131072, 33554432, 33554432, 33686018, 33686018},
    PackTestEntry{1, 1879048192, 1879048193, 1879048193, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1, -1879048192, -1879048191, -1879048191, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1, 32767, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, 32768, 32769, 32769, 32767, 32769, 2147418112, -2147418112, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1, 127, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1, 128, 129, 129, 129, 129, 8454144, 8454144, 129, 129, 33024, 33024, 8454144, 8454144, -2130706432, -2130706432, -2122219135, -2122219135},
    PackTestEntry{1, 1065353216, 1065353217, 1065353217, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1, -1082130432, -1082130431, -1082130431, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1, 1073741824, 1073741825, 1073741825, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1, -268435456, -268435455, -268435455, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1879048192, -2147483648, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 2147483647, -268435457, 2147483647, 0, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1879048192, 0, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1, 1879048191, 1879048191, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1879048192, 1, 1879048193, 1879048193, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1879048192, 1879048192, -536870912, 2147483647, 0, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 32767, 1879080959, 1879080959, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1879048192, 32768, 1879080960, 1879080960, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 127, 1879048319, 1879048319, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{1879048192, 128, 1879048320, 1879048320, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{1879048192, 1065353216, -1350565888, 2147483647, 0, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1879048192, -1082130432, 796917760, 796917760, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1073741824, -1342177280, 2147483647, 0, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1879048192, -268435456, 1610612736, 1610612736, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -2147483648, 268435456, -2147483648, 0, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 2147483647, 268435455, 268435455, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1879048192, 0, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, -1879048193, -1879048193, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1879048192, 1, -1879048191, -1879048191, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-1879048192, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1879048192, 536870912, -2147483648, 0, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32767, -1879015425, -1879015425, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1879048192, 32768, -1879015424, -1879015424, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 127, -1879048065, -1879048065, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-1879048192, 128, -1879048064, -1879048064, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-1879048192, 1065353216, -813694976, -813694976, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1082130432, 1333788672, -2147483648, 0, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1073741824, -805306368, -805306368, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -268435456, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -2147483648, -2147450881, -2147450881, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 2147483647, -2147450882, 2147483647, 0, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 0, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1, 32766, 32766, 32766, 32766, 2147352576, 2147352576, 255, 254, 65280, 65024, 16711680, 16646144, -16777216, -33554432, -1, -16843010},
    PackTestEntry{32767, 1, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, 1879048192, 1879080959, 1879080959, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1879048192, -1879015425, -1879015425, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 32767, 65534, 65534, 32767, 65534, 2147418112, -131072, 255, 254, 65280, 65024, 16711680, 16646144, -16777216, -33554432, -1, -16843010},
    PackTestEntry{32767, 32768, 65535, 65535, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 127, 32894, 32894, 32767, 32894, 2147418112, -2139226112, 255, 126, 65280, 32256, 16711680, 8257536, -16777216, 2113929216, -1, 2122219134},
    PackTestEntry{32767, 128, 32895, 32895, 32767, 32895, 2147418112, -2139160576, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{32767, 1065353216, 1065385983, 1065385983, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1082130432, -1082097665, -1082097665, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 1073741824, 1073774591, 1073774591, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -268435456, -268402689, -268402689, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32768, -2147483648, -2147450880, -2147450880, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 2147483647, -2147450881, 2147483647, 0, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32768, 0, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, 1, 32769, 32769, 32767, 32769, 2147418112, -2147418112, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{32768, 1879048192, 1879080960, 1879080960, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1879048192, -1879015424, -1879015424, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 32767, 65535, 65535, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, 32768, 65536, 65536, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 127, 32895, 32895, 32767, 32895, 2147418112, -2139160576, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{32768, 128, 32896, 32896, 32767, 32896, 2147418112, -2139095040, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{32768, 1065353216, 1065385984, 1065385984, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1082130432, -1082097664, -1082097664, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1073741824, 1073774592, 1073774592, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -268435456, -268402688, -268402688, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -2147483648, -2147483521, -2147483521, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{127, 2147483647, -2147483522, 2147483647, 0, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{127, 0, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1, 126, 126, 126, 126, 8257536, 8257536, 126, 126, 32256, 32256, 8257536, 8257536, 2113929216, 2113929216, 2122219134, 2122219134},
    PackTestEntry{127, 1, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{127, 1879048192, 1879048319, 1879048319, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{127, -1879048192, -1879048065, -1879048065, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{127, 32767, 32894, 32894, 32767, 32894, 2147418112, -2139226112, 255, 126, 65280, 32256, 16711680, 8257536, -16777216, 2113929216, -1, 2122219134},
    PackTestEntry{127, 32768, 32895, 32895, 32767, 32895, 2147418112, -2139160576, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{127, 127, 254, 254, 254, 254, 16646144, 16646144, 254, 254, 65024, 65024, 16646144, 16646144, -33554432, -33554432, -16843010, -16843010},
    PackTestEntry{127, 128, 255, 255, 255, 255, 16711680, 16711680, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{127, 1065353216, 1065353343, 1065353343, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{127, -1082130432, -1082130305, -1082130305, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{127, 1073741824, 1073741951, 1073741951, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{127, -268435456, -268435329, -268435329, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{128, -2147483648, -2147483520, -2147483520, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{128, 2147483647, -2147483521, 2147483647, 0, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{128, 0, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{128, 1, 129, 129, 129, 129, 8454144, 8454144, 129, 129, 33024, 33024, 8454144, 8454144, -2130706432, -2130706432, -2122219135, -2122219135},
    PackTestEntry{128, 1879048192, 1879048320, 1879048320, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, -1879048192, -1879048064, -1879048064, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{128, 32767, 32895, 32895, 32767, 32895, 2147418112, -2139160576, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{128, 32768, 32896, 32896, 32767, 32896, 2147418112, -2139095040, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, 127, 255, 255, 255, 255, 16711680, 16711680, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{128, 128, 256, 256, 256, 256, 16777216, 16777216, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, 1065353216, 1065353344, 1065353344, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, -1082130432, -1082130304, -1082130304, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{128, 1073741824, 1073741952, 1073741952, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, -268435456, -268435328, -268435328, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{1065353216, -2147483648, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 2147483647, -1082130433, 2147483647, 0, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1065353216, 0, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1, 1065353215, 1065353215, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1065353216, 1, 1065353217, 1065353217, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1065353216, 1879048192, -1350565888, 2147483647, 0, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1065353216, -1879048192, -813694976, -813694976, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 32767, 1065385983, 1065385983, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1065353216, 32768, 1065385984, 1065385984, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 127, 1065353343, 1065353343, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{1065353216, 128, 1065353344, 1065353344, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{1065353216, 1065353216, 2130706432, 2130706432, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1082130432, -16777216, -16777216, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1073741824, 2139095040, 2139095040, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -268435456, 796917760, 796917760, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -2147483648, 1065353216, -2147483648, 0, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 2147483647, 1065353215, 1065353215, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1082130432, 0, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, -1082130433, -1082130433, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, 1, -1082130431, -1082130431, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-1082130432, 1879048192, 796917760, 796917760, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -1879048192, 1333788672, -2147483648, 0, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32767, -1082097665, -1082097665, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, 32768, -1082097664, -1082097664, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 127, -1082130305, -1082130305, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-1082130432, 128, -1082130304, -1082130304, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-1082130432, 1065353216, -16777216, -16777216, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1082130432, 2130706432, -2147483648, 0, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1073741824, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -268435456, -1350565888, -1350565888, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -2147483648, -1073741824, -1073741824, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 2147483647, -1073741825, 2147483647, 0, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1073741824, 0, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1, 1073741823, 1073741823, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1073741824, 1, 1073741825, 1073741825, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1073741824, 1879048192, -1342177280, 2147483647, 0, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1073741824, -1879048192, -805306368, -805306368, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 32767, 1073774591, 1073774591, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1073741824, 32768, 1073774592, 1073774592, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 127, 1073741951, 1073741951, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{1073741824, 128, 1073741952, 1073741952, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{1073741824, 1065353216, 2139095040, 2139095040, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1082130432, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1073741824, -2147483648, 2147483647, 0, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1073741824, -268435456, 805306368, 805306368, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -2147483648, 1879048192, -2147483648, 0, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 2147483647, 1879048191, 1879048191, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-268435456, 0, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, -268435457, -268435457, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, 1, -268435455, -268435455, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-268435456, 1879048192, 1610612736, 1610612736, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -1879048192, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32767, -268402689, -268402689, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, 32768, -268402688, -268402688, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 127, -268435329, -268435329, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-268435456, 128, -268435328, -268435328, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-268435456, 1065353216, 796917760, 796917760, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -1082130432, -1350565888, -1350565888, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1073741824, 805306368, 805306368, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -268435456, -536870912, -536870912, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_MAX = {
    PackTestEntry{-2147483648, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-2147483648, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-2147483648, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-2147483648, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{-2147483648, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{-2147483648, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 0, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1879048192, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1879048192, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 32767, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 32768, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 127, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 128, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1065353216, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1082130432, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1073741824, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -268435456, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{0, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{0, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{0, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, -1879048192, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{-1, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{-1, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, -1082130432, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, -268435456, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1, -2147483648, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1, 0, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, -1879048192, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{1, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, -1082130432, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, -268435456, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1879048192, -2147483648, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1879048192, 0, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 32767, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 32768, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 127, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 128, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1065353216, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1082130432, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1073741824, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -268435456, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -2147483648, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1879048192, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1879048192, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1879048192, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{-1879048192, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{-1879048192, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -2147483648, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 0, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, -1879048192, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, 127, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 128, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, -1082130432, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, -268435456, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, -2147483648, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, 0, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1879048192, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 32767, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 127, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 128, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1082130432, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -268435456, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -2147483648, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{127, 0, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -1879048192, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{127, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{127, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -1082130432, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -268435456, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{128, -2147483648, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{128, 0, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, -1879048192, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{128, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, 127, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, -1082130432, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, -268435456, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1065353216, -2147483648, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1065353216, 0, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1879048192, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 32767, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 32768, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 127, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 128, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1082130432, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -268435456, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -2147483648, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1082130432, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -1879048192, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1082130432, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{-1082130432, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{-1082130432, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -2147483648, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1073741824, 0, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1879048192, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 32767, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 32768, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 127, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 128, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1065353216, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1082130432, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -268435456, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -2147483648, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-268435456, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -1879048192, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-268435456, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{-268435456, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{-268435456, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -1082130432, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_MIN = {
    PackTestEntry{-2147483648, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 0, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1879048192, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1879048192, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32767, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32768, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 127, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 128, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1065353216, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1082130432, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1073741824, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -268435456, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{2147483647, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{2147483647, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{2147483647, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 2147483647, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 0, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1879048192, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 32767, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 32768, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 127, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 128, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1065353216, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 1073741824, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 2147483647, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1879048192, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 32767, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 32768, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 127, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 128, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1065353216, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1073741824, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 2147483647, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1879048192, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1879048192, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1879048192, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{1879048192, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1879048192, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 2147483647, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 0, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32767, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32768, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 127, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 128, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1065353216, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1082130432, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1073741824, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -268435456, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 2147483647, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{32767, 1879048192, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 32768, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{32767, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{32767, 1065353216, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 1073741824, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 2147483647, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32768, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{32768, 1879048192, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{32768, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{32768, 1065353216, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1073741824, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 2147483647, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{127, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{127, 1879048192, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 32767, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 32768, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 128, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1065353216, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 1073741824, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 2147483647, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{128, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{128, 1879048192, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 32767, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 32768, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{128, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1065353216, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1073741824, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 2147483647, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1065353216, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1065353216, 1879048192, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1065353216, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{1065353216, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1065353216, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1073741824, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 2147483647, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 0, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1879048192, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32767, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32768, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 127, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 128, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1065353216, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1073741824, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -268435456, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 2147483647, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1073741824, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1073741824, 1879048192, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1073741824, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{1073741824, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1073741824, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 2147483647, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 0, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1879048192, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32767, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32768, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 127, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 128, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1065353216, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1073741824, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_MUL24 = {
    PackTestEntry{-2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 2147483647, -33554431, -33554431, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -1, -33554431, -33554431, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{2147483647, 1, 16777215, 16777215, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 32767, -16809983, -16809983, 32768, 32769, -2147483648, -2147418112, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{2147483647, 32768, -32768, -32768, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 127, 2130706305, 2130706305, 32767, 65409, 2147418112, -8323072, 255, 129, 65280, 33024, 16711680, 8454144, -16777216, -2130706432, -1, -2122219135},
    PackTestEntry{2147483647, 128, 2147483520, 2147483520, 32767, 65408, 2147418112, -8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{2147483647, 1065353216, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -1082130432, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 2147483647, -33554431, -33554431, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -1, -33554431, -33554431, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-1, 1, 16777215, 16777215, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 32767, -16809983, -16809983, 32768, 32769, -2147483648, -2147418112, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-1, 32768, -32768, -32768, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 127, 2130706305, 2130706305, 32767, 65409, 2147418112, -8323072, 255, 129, 65280, 33024, 16711680, 8454144, -16777216, -2130706432, -1, -2122219135},
    PackTestEntry{-1, 128, 2147483520, 2147483520, 32767, 65408, 2147418112, -8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{-1, 1065353216, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -1082130432, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 2147483647, 16777215, 16777215, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -1, 16777215, 16777215, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{1, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1, 1065353216, 8388608, 8388608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, -1082130432, 8388608, 8388608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 2147483647, -16809983, -16809983, 32768, 32769, -2147483648, -2147418112, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -1, -16809983, -16809983, 32768, 32769, -2147483648, -2147418112, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{32767, 1, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 32767, 1073676289, 1073676289, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{32767, 32768, 1073709056, 1073709056, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, 127, 4161409, 4161409, 32767, 32641, 2147418112, 2139160576, 255, 129, 65280, 33024, 16711680, 8454144, -16777216, -2130706432, -1, -2122219135},
    PackTestEntry{32767, 128, 4194176, 4194176, 32767, 65408, 2147418112, -8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{32767, 1065353216, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -1082130432, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 2147483647, -32768, -32768, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1, -32768, -32768, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 32767, 1073709056, 1073709056, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 32768, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 127, 4161536, 4161536, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 128, 4194304, 4194304, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 2147483647, 2130706305, 2130706305, 32767, 65409, 2147418112, -8323072, 255, 129, 65280, 33024, 16711680, 8454144, -16777216, -2130706432, -1, -2122219135},
    PackTestEntry{127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -1, 2130706305, 2130706305, 32767, 65409, 2147418112, -8323072, 255, 129, 65280, 33024, 16711680, 8454144, -16777216, -2130706432, -1, -2122219135},
    PackTestEntry{127, 1, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 32767, 4161409, 4161409, 32767, 32641, 2147418112, 2139160576, 255, 129, 65280, 33024, 16711680, 8454144, -16777216, -2130706432, -1, -2122219135},
    PackTestEntry{127, 32768, 4161536, 4161536, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, 127, 16129, 16129, 16129, 16129, 1057030144, 1057030144, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{127, 128, 16256, 16256, 16256, 16256, 1065353216, 1065353216, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{127, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -1082130432, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 2147483647, 2147483520, 2147483520, 32767, 65408, 2147418112, -8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -1, 2147483520, 2147483520, 32767, 65408, 2147418112, -8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, 1, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 32767, 4194176, 4194176, 32767, 65408, 2147418112, -8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, 32768, 4194304, 4194304, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, 127, 16256, 16256, 16256, 16256, 1065353216, 1065353216, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, 128, 16384, 16384, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, 1065353216, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, -1082130432, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 2147483647, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -1, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1, 8388608, 8388608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 32767, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 127, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 128, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 2147483647, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1, 8388608, 8388608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32767, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 127, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 128, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_SUB = {
    PackTestEntry{-2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, 1, 2147483647, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-2147483648, 0, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, -2147483647, -2147483647, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-2147483648, 1, 2147483647, 2147483647, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-2147483648, 1879048192, 268435456, 2147483647, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-2147483648, -1879048192, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32767, 2147450881, 2147483647, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-2147483648, 32768, 2147450880, 2147483647, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-2147483648, 127, 2147483521, 2147483647, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-2147483648, 128, 2147483520, 2147483647, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-2147483648, 1065353216, 1082130432, 2147483647, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-2147483648, -1082130432, -1065353216, -1065353216, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1073741824, 1073741824, 2147483647, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-2147483648, -268435456, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, -1, -2147483648, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 0, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1, -2147483648, -2147483648, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 1, 2147483646, 2147483646, 32767, 65534, 2147418112, -131072, 255, 254, 65280, 65024, 16711680, 16646144, -16777216, -33554432, -1, -16843010},
    PackTestEntry{2147483647, 1879048192, 268435455, 268435455, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1879048192, -268435457, -2147483648, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 32767, 2147450880, 2147450880, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 32768, 2147450879, 2147450879, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 127, 2147483520, 2147483520, 32767, 65408, 2147418112, -8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{2147483647, 128, 2147483519, 2147483519, 32767, 65407, 2147418112, -8454144, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{2147483647, 1065353216, 1082130431, 1082130431, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1082130432, -1065353217, -2147483648, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 1073741824, 1073741823, 1073741823, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -268435456, -1879048193, -2147483648, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -2147483648, -2147483648, -2147483648, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, -2147483647, -2147483647, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{0, 1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{0, 1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, 32767, -32767, -32767, 32769, 32769, -2147418112, -2147418112, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{0, 32768, -32768, -32768, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 127, -127, -127, 65409, 65409, -8323072, -8323072, 0, 129, 0, 33024, 0, 8454144, 0, -2130706432, 0, -2122219135},
    PackTestEntry{0, 128, -128, -128, 65408, 65408, -8388608, -8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{0, 1065353216, -1065353216, -1065353216, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1082130432, 1082130432, 1082130432, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, 1073741824, -1073741824, -1073741824, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -268435456, 268435456, 268435456, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, -2147483648, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 2147483647, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 0, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 1, -2, -2, 65534, 65534, -131072, -131072, 0, 254, 0, 65024, 0, 16646144, 0, -33554432, 0, -16843010},
    PackTestEntry{-1, 1879048192, -1879048193, -1879048193, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1879048192, 1879048191, 1879048191, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 32767, -32768, -32768, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 32768, -32769, -32769, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 127, -128, -128, 65408, 65408, -8388608, -8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-1, 128, -129, -129, 65407, 65407, -8454144, -8454144, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-1, 1065353216, -1065353217, -1065353217, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1082130432, 1082130431, 1082130431, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 1073741824, -1073741825, -1073741825, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -268435456, 268435455, 268435455, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1, -2147483648, -2147483647, -2147483648, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 2147483647, -2147483646, -2147483646, 32768, 2, -2147483648, 131072, 0, 2, 0, 512, 0, 131072, 0, 33554432, 0, 33686018},
    PackTestEntry{1, 0, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1, 2, 2, 2, 2, 131072, 131072, 2, 2, 512, 512, 131072, 131072, 33554432, 33554432, 33686018, 33686018},
    PackTestEntry{1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1879048192, -1879048191, -1879048191, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1, -1879048192, 1879048193, 1879048193, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1, 32767, -32766, -32766, 32770, 32770, -2147352576, -2147352576, 0, 2, 0, 512, 0, 131072, 0, 33554432, 0, 33686018},
    PackTestEntry{1, 32768, -32767, -32767, 32769, 32769, -2147418112, -2147418112, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1, 127, -126, -126, 65410, 65410, -8257536, -8257536, 0, 130, 0, 33280, 0, 8519680, 0, -2113929216, 0, -2105376126},
    PackTestEntry{1, 128, -127, -127, 65409, 65409, -8323072, -8323072, 0, 129, 0, 33024, 0, 8454144, 0, -2130706432, 0, -2122219135},
    PackTestEntry{1, 1065353216, -1065353215, -1065353215, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1, -1082130432, 1082130433, 1082130433, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1, 1073741824, -1073741823, -1073741823, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1, -268435456, 268435457, 268435457, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1879048192, -2147483648, -268435456, -2147483648, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 2147483647, -268435455, -268435455, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1879048192, 0, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1, 1879048193, 1879048193, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1879048192, 1, 1879048191, 1879048191, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1879048192, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -1879048192, -536870912, -2147483648, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 32767, 1879015425, 1879015425, 32767, 32769, 2147418112, -2147418112, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1879048192, 32768, 1879015424, 1879015424, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 127, 1879048065, 1879048065, 32767, 65409, 2147418112, -8323072, 255, 129, 65280, 33024, 16711680, 8454144, -16777216, -2130706432, -1, -2122219135},
    PackTestEntry{1879048192, 128, 1879048064, 1879048064, 32767, 65408, 2147418112, -8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{1879048192, 1065353216, 813694976, 813694976, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1082130432, -1333788672, -2147483648, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1073741824, 805306368, 805306368, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -268435456, -2147483648, -2147483648, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -2147483648, 268435456, 268435456, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 2147483647, 268435457, 2147483647, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1879048192, 0, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, -1879048191, -1879048191, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-1879048192, 1, -1879048193, -1879048193, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1879048192, 1879048192, 536870912, 2147483647, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32767, -1879080959, -1879080959, 32768, 32769, -2147483648, -2147418112, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-1879048192, 32768, -1879080960, -1879080960, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 127, -1879048319, -1879048319, 32768, 65409, -2147483648, -8323072, 0, 129, 0, 33024, 0, 8454144, 0, -2130706432, 0, -2122219135},
    PackTestEntry{-1879048192, 128, -1879048320, -1879048320, 32768, 65408, -2147483648, -8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-1879048192, 1065353216, 1350565888, 2147483647, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1879048192, -1082130432, -796917760, -796917760, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1073741824, 1342177280, 2147483647, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1879048192, -268435456, -1610612736, -1610612736, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -2147483648, -2147450881, -2147483648, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 2147483647, -2147450880, -2147450880, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 0, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, 1, 32766, 32766, 32766, 32766, 2147352576, 2147352576, 255, 254, 65280, 65024, 16711680, 16646144, -16777216, -33554432, -1, -16843010},
    PackTestEntry{32767, 1879048192, -1879015425, -1879015425, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, -1879048192, 1879080959, 1879080959, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 32768, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 127, 32640, 32640, 32640, 32640, 2139095040, 2139095040, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{32767, 128, 32639, 32639, 32639, 32639, 2139029504, 2139029504, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{32767, 1065353216, -1065320449, -1065320449, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, -1082130432, 1082163199, 1082163199, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1073741824, -1073709057, -1073709057, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, -268435456, 268468223, 268468223, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, -2147483648, -2147450880, -2147483648, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 2147483647, -2147450879, -2147450879, 32768, 32769, -2147483648, -2147418112, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{32768, 0, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1, 32769, 32769, 32767, 32769, 2147418112, -2147418112, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{32768, 1, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, 1879048192, -1879015424, -1879015424, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1879048192, 1879080960, 1879080960, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 32767, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{32768, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 127, 32641, 32641, 32641, 32641, 2139160576, 2139160576, 255, 129, 65280, 33024, 16711680, 8454144, -16777216, -2130706432, -1, -2122219135},
    PackTestEntry{32768, 128, 32640, 32640, 32640, 32640, 2139095040, 2139095040, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{32768, 1065353216, -1065320448, -1065320448, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1082130432, 1082163200, 1082163200, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1073741824, -1073709056, -1073709056, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -268435456, 268468224, 268468224, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -2147483648, -2147483521, -2147483648, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 2147483647, -2147483520, -2147483520, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{127, 0, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{127, 1, 126, 126, 126, 126, 8257536, 8257536, 126, 126, 32256, 32256, 8257536, 8257536, 2113929216, 2113929216, 2122219134, 2122219134},
    PackTestEntry{127, 1879048192, -1879048065, -1879048065, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{127, -1879048192, 1879048319, 1879048319, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{127, 32767, -32640, -32640, 32896, 32896, -2139095040, -2139095040, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{127, 32768, -32641, -32641, 32895, 32895, -2139160576, -2139160576, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 128, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{127, 1065353216, -1065353089, -1065353089, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{127, -1082130432, 1082130559, 1082130559, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{127, 1073741824, -1073741697, -1073741697, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{127, -268435456, 268435583, 268435583, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{128, -2147483648, -2147483520, -2147483648, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 2147483647, -2147483519, -2147483519, 32768, 129, -2147483648, 8454144, 0, 129, 0, 33024, 0, 8454144, 0, -2130706432, 0, -2122219135},
    PackTestEntry{128, 0, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1, 129, 129, 129, 129, 8454144, 8454144, 129, 129, 33024, 33024, 8454144, 8454144, -2130706432, -2130706432, -2122219135, -2122219135},
    PackTestEntry{128, 1, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{128, 1879048192, -1879048064, -1879048064, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{128, -1879048192, 1879048320, 1879048320, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, 32767, -32639, -32639, 32897, 32897, -2139029504, -2139029504, 0, 129, 0, 33024, 0, 8454144, 0, -2130706432, 0, -2122219135},
    PackTestEntry{128, 32768, -32640, -32640, 32896, 32896, -2139095040, -2139095040, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{128, 127, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1065353216, -1065353088, -1065353088, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{128, -1082130432, 1082130560, 1082130560, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, 1073741824, -1073741696, -1073741696, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{128, -268435456, 268435584, 268435584, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{1065353216, -2147483648, -1082130432, -2147483648, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 2147483647, -1082130431, -1082130431, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1065353216, 0, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1, 1065353217, 1065353217, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1065353216, 1, 1065353215, 1065353215, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1065353216, 1879048192, -813694976, -813694976, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -1879048192, -1350565888, -2147483648, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 32767, 1065320449, 1065320449, 32767, 32769, 2147418112, -2147418112, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1065353216, 32768, 1065320448, 1065320448, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 127, 1065353089, 1065353089, 32767, 65409, 2147418112, -8323072, 255, 129, 65280, 33024, 16711680, 8454144, -16777216, -2130706432, -1, -2122219135},
    PackTestEntry{1065353216, 128, 1065353088, 1065353088, 32767, 65408, 2147418112, -8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{1065353216, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -1082130432, -2147483648, -2147483648, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1073741824, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -268435456, 1333788672, 1333788672, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -2147483648, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 2147483647, 1065353217, 2147483647, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1082130432, 0, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, -1082130431, -1082130431, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-1082130432, 1, -1082130433, -1082130433, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, 1879048192, 1333788672, 2147483647, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1082130432, -1879048192, 796917760, 796917760, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 32767, -1082163199, -1082163199, 32768, 32769, -2147483648, -2147418112, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-1082130432, 32768, -1082163200, -1082163200, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 127, -1082130559, -1082130559, 32768, 65409, -2147483648, -8323072, 0, 129, 0, 33024, 0, 8454144, 0, -2130706432, 0, -2122219135},
    PackTestEntry{-1082130432, 128, -1082130560, -1082130560, 32768, 65408, -2147483648, -8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-1082130432, 1065353216, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1073741824, 2139095040, 2147483647, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1082130432, -268435456, -813694976, -813694976, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -2147483648, -1073741824, -2147483648, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 2147483647, -1073741823, -1073741823, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1073741824, 0, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1, 1073741825, 1073741825, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1073741824, 1, 1073741823, 1073741823, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1073741824, 1879048192, -805306368, -805306368, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -1879048192, -1342177280, -2147483648, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 32767, 1073709057, 1073709057, 32767, 32769, 2147418112, -2147418112, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1073741824, 32768, 1073709056, 1073709056, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 127, 1073741697, 1073741697, 32767, 65409, 2147418112, -8323072, 255, 129, 65280, 33024, 16711680, 8454144, -16777216, -2130706432, -1, -2122219135},
    PackTestEntry{1073741824, 128, 1073741696, 1073741696, 32767, 65408, 2147418112, -8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{1073741824, 1065353216, 8388608, 8388608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1082130432, -2139095040, -2147483648, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -268435456, 1342177280, 1342177280, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -2147483648, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 2147483647, 1879048193, 2147483647, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-268435456, 0, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, -268435455, -268435455, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-268435456, 1, -268435457, -268435457, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, 1879048192, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1879048192, 1610612736, 1610612736, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 32767, -268468223, -268468223, 32768, 32769, -2147483648, -2147418112, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-268435456, 32768, -268468224, -268468224, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 127, -268435583, -268435583, 32768, 65409, -2147483648, -8323072, 0, 129, 0, 33024, 0, 8454144, 0, -2130706432, 0, -2122219135},
    PackTestEntry{-268435456, 128, -268435584, -268435584, 32768, 65408, -2147483648, -8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-268435456, 1065353216, -1333788672, -1333788672, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1082130432, 813694976, 813694976, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 1073741824, -1342177280, -1342177280, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_ITOF = {
    PackTestEntry{-2147483648, -2147483648, -822083584, -822083584, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, 1325400063, 1325400063, 31744, 31744, 2080374784, 2080374784, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, -1082130432, -1082130432, 48128, 48128, -1140850688, -1140850688, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -2147483648, 1065353216, 1065353216, 15360, 15360, 1006632960, 1006632960, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -2147483648, 1323302912, 1323302912, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -2147483648, -824180736, -824180736, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -2147483648, 1191181824, 1191181824, 30720, 30720, 2013265920, 2013265920, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -2147483648, 1191182336, 1191182336, 30720, 30720, 2013265920, 2013265920, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -2147483648, 1123942400, 1123942400, 22512, 22512, 1475346432, 1475346432, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, -2147483648, 1124073472, 1124073472, 22528, 22528, 1476395008, 1476395008, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -2147483648, 1316880384, 1316880384, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -2147483648, -830406656, -830406656, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -2147483648, 1317011456, 1317011456, 31744, 31744, 2080374784, 2080374784, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -2147483648, -847249408, -847249408, 64512, 64512, -67108864, -67108864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_ROR = {
    PackTestEntry{-2147483648, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-2147483648, 0, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-2147483648, 1, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, 1879048192, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1879048192, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32767, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-2147483648, 32768, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 127, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-2147483648, 128, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1065353216, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1082130432, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1073741824, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -268435456, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 2147483647, -2, -2, 65534, 65534, -131072, -131072, 0, 254, 0, 65024, 0, 16646144, 0, -33554432, 0, -16843010},
    PackTestEntry{2147483647, 0, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1, -2, -2, 65534, 65534, -131072, -131072, 0, 254, 0, 65024, 0, 16646144, 0, -33554432, 0, -16843010},
    PackTestEntry{2147483647, 1, -1073741825, -1073741825, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 1879048192, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1879048192, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 32767, -2, -2, 65534, 65534, -131072, -131072, 0, 254, 0, 65024, 0, 16646144, 0, -33554432, 0, -16843010},
    PackTestEntry{2147483647, 32768, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 127, -2, -2, 65534, 65534, -131072, -131072, 0, 254, 0, 65024, 0, 16646144, 0, -33554432, 0, -16843010},
    PackTestEntry{2147483647, 128, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1065353216, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1082130432, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1073741824, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -268435456, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 2147483647, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 0, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1879048192, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1879048192, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 32767, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 32768, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 127, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 128, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1065353216, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1082130432, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1073741824, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -268435456, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1, -2147483648, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 2147483647, 2, 2, 2, 2, 131072, 131072, 2, 2, 512, 512, 131072, 131072, 33554432, 33554432, 33686018, 33686018},
    PackTestEntry{1, 0, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1, 2, 2, 2, 2, 131072, 131072, 2, 2, 512, 512, 131072, 131072, 33554432, 33554432, 33686018, 33686018},
    PackTestEntry{1, 1, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1879048192, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1879048192, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 32767, 2, 2, 2, 2, 131072, 131072, 2, 2, 512, 512, 131072, 131072, 33554432, 33554432, 33686018, 33686018},
    PackTestEntry{1, 32768, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 127, 2, 2, 2, 2, 131072, 131072, 2, 2, 512, 512, 131072, 131072, 33554432, 33554432, 33686018, 33686018},
    PackTestEntry{1, 128, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1065353216, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1082130432, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1073741824, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -268435456, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1879048192, -2147483648, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 2147483647, -536870912, -536870912, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 0, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1, -536870912, -536870912, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1, 939524096, 939524096, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 32767, -536870912, -536870912, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 32768, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 127, -536870912, -536870912, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 128, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1065353216, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1082130432, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1073741824, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -268435456, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -2147483648, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 2147483647, 536870913, 536870913, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{-1879048192, 0, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, 536870913, 536870913, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{-1879048192, 1, 1207959552, 1207959552, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32767, 536870913, 536870913, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{-1879048192, 32768, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 127, 536870913, 536870913, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{-1879048192, 128, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1065353216, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1082130432, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1073741824, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -268435456, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -2147483648, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 2147483647, 65534, 65534, 32767, 65534, 2147418112, -131072, 255, 254, 65280, 65024, 16711680, 16646144, -16777216, -33554432, -1, -16843010},
    PackTestEntry{32767, 0, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1, 65534, 65534, 32767, 65534, 2147418112, -131072, 255, 254, 65280, 65024, 16711680, 16646144, -16777216, -33554432, -1, -16843010},
    PackTestEntry{32767, 1, -2147467265, -2147467265, 32768, 16383, -2147483648, 1073676288, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 1879048192, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1879048192, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 32767, 65534, 65534, 32767, 65534, 2147418112, -131072, 255, 254, 65280, 65024, 16711680, 16646144, -16777216, -33554432, -1, -16843010},
    PackTestEntry{32767, 32768, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 127, 65534, 65534, 32767, 65534, 2147418112, -131072, 255, 254, 65280, 65024, 16711680, 16646144, -16777216, -33554432, -1, -16843010},
    PackTestEntry{32767, 128, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1065353216, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1082130432, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1073741824, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -268435456, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, -2147483648, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 2147483647, 65536, 65536, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 0, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1, 65536, 65536, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1, 16384, 16384, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1879048192, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1879048192, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 32767, 65536, 65536, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 127, 65536, 65536, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 128, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1065353216, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1082130432, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1073741824, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -268435456, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -2147483648, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 2147483647, 254, 254, 254, 254, 16646144, 16646144, 254, 254, 65024, 65024, 16646144, 16646144, -33554432, -33554432, -16843010, -16843010},
    PackTestEntry{127, 0, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1, 254, 254, 254, 254, 16646144, 16646144, 254, 254, 65024, 65024, 16646144, 16646144, -33554432, -33554432, -16843010, -16843010},
    PackTestEntry{127, 1, -2147483585, -2147483585, 32768, 63, -2147483648, 4128768, 0, 63, 0, 16128, 0, 4128768, 0, 1056964608, 0, 1061109567},
    PackTestEntry{127, 1879048192, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1879048192, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 32767, 254, 254, 254, 254, 16646144, 16646144, 254, 254, 65024, 65024, 16646144, 16646144, -33554432, -33554432, -16843010, -16843010},
    PackTestEntry{127, 32768, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 127, 254, 254, 254, 254, 16646144, 16646144, 254, 254, 65024, 65024, 16646144, 16646144, -33554432, -33554432, -16843010, -16843010},
    PackTestEntry{127, 128, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1065353216, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1082130432, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1073741824, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -268435456, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{128, -2147483648, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 2147483647, 256, 256, 256, 256, 16777216, 16777216, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, 0, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1, 256, 256, 256, 256, 16777216, 16777216, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, 1, 64, 64, 64, 64, 4194304, 4194304, 64, 64, 16384, 16384, 4194304, 4194304, 1073741824, 1073741824, 1077952576, 1077952576},
    PackTestEntry{128, 1879048192, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1879048192, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 32767, 256, 256, 256, 256, 16777216, 16777216, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, 32768, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 127, 256, 256, 256, 256, 16777216, 16777216, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1065353216, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1082130432, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1073741824, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -268435456, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1065353216, -2147483648, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 2147483647, 2130706432, 2130706432, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 0, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1, 2130706432, 2130706432, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1, 532676608, 532676608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1879048192, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1879048192, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 32767, 2130706432, 2130706432, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 32768, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 127, 2130706432, 2130706432, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 128, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1082130432, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1073741824, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -268435456, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -2147483648, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 2147483647, 2130706433, 2130706433, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{-1082130432, 0, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, 2130706433, 2130706433, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{-1082130432, 1, 1606418432, 1606418432, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 1879048192, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1879048192, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32767, 2130706433, 2130706433, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{-1082130432, 32768, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 127, 2130706433, 2130706433, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{-1082130432, 128, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1065353216, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1073741824, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -268435456, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -2147483648, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 2147483647, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 0, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1, 536870912, 536870912, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1879048192, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1879048192, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 32767, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 32768, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 127, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 128, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1065353216, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1082130432, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -268435456, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -2147483648, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 2147483647, -536870911, -536870911, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-268435456, 0, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, -536870911, -536870911, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-268435456, 1, 2013265920, 2013265920, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 1879048192, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1879048192, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32767, -536870911, -536870911, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-268435456, 32768, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 127, -536870911, -536870911, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-268435456, 128, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1065353216, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1082130432, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1073741824, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_SHL = {
    PackTestEntry{-2147483648, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 0, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1879048192, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1879048192, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32768, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 128, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1065353216, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1082130432, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1073741824, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -268435456, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 2147483647, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 0, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 1, -2, -2, 65534, 65534, -131072, -131072, 0, 254, 0, 65024, 0, 16646144, 0, -33554432, 0, -16843010},
    PackTestEntry{2147483647, 1879048192, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1879048192, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 32767, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 32768, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 127, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 128, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1065353216, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1082130432, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1073741824, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -268435456, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 2147483647, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 0, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 1, -2, -2, 65534, 65534, -131072, -131072, 0, 254, 0, 65024, 0, 16646144, 0, -33554432, 0, -16843010},
    PackTestEntry{-1, 1879048192, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1879048192, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 32767, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 32768, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 127, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 128, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1065353216, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1082130432, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1073741824, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -268435456, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1, -2147483648, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 2147483647, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 0, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1, 2, 2, 2, 2, 131072, 131072, 2, 2, 512, 512, 131072, 131072, 33554432, 33554432, 33686018, 33686018},
    PackTestEntry{1, 1879048192, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1879048192, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 32767, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 32768, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 127, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 128, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1065353216, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1082130432, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1073741824, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -268435456, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1879048192, -2147483648, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 0, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1, -536870912, -536870912, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 32768, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 128, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1065353216, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1082130432, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1073741824, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -268435456, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -2147483648, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 0, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1, 536870912, 536870912, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32768, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 128, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1065353216, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1082130432, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1073741824, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -268435456, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -2147483648, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 2147483647, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 0, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 1, 65534, 65534, 32767, 65534, 2147418112, -131072, 255, 254, 65280, 65024, 16711680, 16646144, -16777216, -33554432, -1, -16843010},
    PackTestEntry{32767, 1879048192, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1879048192, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 32767, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 32768, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 127, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 128, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1065353216, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1082130432, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1073741824, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -268435456, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, -2147483648, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 0, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1, 65536, 65536, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1879048192, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1879048192, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 128, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1065353216, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1082130432, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1073741824, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -268435456, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -2147483648, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 2147483647, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 0, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 1, 254, 254, 254, 254, 16646144, 16646144, 254, 254, 65024, 65024, 16646144, 16646144, -33554432, -33554432, -16843010, -16843010},
    PackTestEntry{127, 1879048192, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1879048192, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 32767, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 32768, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 127, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 128, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1065353216, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1082130432, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1073741824, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -268435456, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{128, -2147483648, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 0, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1, 256, 256, 256, 256, 16777216, 16777216, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{128, 1879048192, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1879048192, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 32768, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1065353216, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1082130432, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1073741824, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -268435456, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1065353216, -2147483648, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 0, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1, 2130706432, 2130706432, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1879048192, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1879048192, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 32768, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 128, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1082130432, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1073741824, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -268435456, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -2147483648, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 0, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1, 2130706432, 2130706432, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 1879048192, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1879048192, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32768, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 128, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1065353216, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1073741824, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -268435456, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -2147483648, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 0, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1879048192, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1879048192, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 32768, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 128, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1065353216, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1082130432, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -268435456, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -2147483648, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 0, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1, -536870912, -536870912, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1879048192, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1879048192, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32768, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 128, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1065353216, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1082130432, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1073741824, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_SHR = {
    PackTestEntry{-2147483648, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-2147483648, 0, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-2147483648, 1, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, 1879048192, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1879048192, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32767, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-2147483648, 32768, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 127, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-2147483648, 128, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1065353216, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1082130432, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1073741824, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -268435456, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 0, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 1, 1073741823, 1073741823, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1879048192, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1879048192, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 32768, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 128, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1065353216, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1082130432, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1073741824, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -268435456, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 2147483647, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1, 0, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1, 1, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 1879048192, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1879048192, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 32767, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1, 32768, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 127, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1, 128, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1065353216, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1082130432, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1073741824, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -268435456, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1, -2147483648, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 0, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1879048192, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1879048192, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 32768, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 128, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1065353216, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1082130432, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1073741824, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -268435456, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1879048192, -2147483648, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 0, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1, 939524096, 939524096, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 32768, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 128, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1065353216, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1082130432, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1073741824, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -268435456, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -2147483648, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 2147483647, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1879048192, 0, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1879048192, 1, 1207959552, 1207959552, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32767, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1879048192, 32768, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 127, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1879048192, 128, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1065353216, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1082130432, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1073741824, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -268435456, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -2147483648, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 0, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 1, 16383, 16383, 16383, 16383, 1073676288, 1073676288, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1879048192, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1879048192, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 32768, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 128, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1065353216, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1082130432, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1073741824, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -268435456, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, -2147483648, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 0, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1, 16384, 16384, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1879048192, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1879048192, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 128, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1065353216, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1082130432, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1073741824, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -268435456, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -2147483648, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 0, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 1, 63, 63, 63, 63, 4128768, 4128768, 63, 63, 16128, 16128, 4128768, 4128768, 1056964608, 1056964608, 1061109567, 1061109567},
    PackTestEntry{127, 1879048192, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1879048192, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 32768, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 128, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1065353216, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1082130432, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1073741824, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -268435456, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{128, -2147483648, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 0, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1, 64, 64, 64, 64, 4194304, 4194304, 64, 64, 16384, 16384, 4194304, 4194304, 1073741824, 1073741824, 1077952576, 1077952576},
    PackTestEntry{128, 1879048192, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1879048192, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 32768, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1065353216, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1082130432, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1073741824, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -268435456, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1065353216, -2147483648, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 0, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1, 532676608, 532676608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1879048192, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1879048192, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 32768, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 128, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1082130432, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1073741824, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -268435456, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -2147483648, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 2147483647, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1082130432, 0, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1082130432, 1, 1606418432, 1606418432, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 1879048192, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1879048192, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32767, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1082130432, 32768, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 127, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1082130432, 128, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1065353216, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1073741824, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -268435456, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -2147483648, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 0, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1, 536870912, 536870912, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1879048192, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1879048192, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 32768, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 128, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1065353216, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1082130432, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -268435456, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -2147483648, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 2147483647, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-268435456, 0, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-268435456, 1, 2013265920, 2013265920, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 1879048192, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1879048192, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32767, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-268435456, 32768, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 127, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-268435456, 128, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1065353216, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1082130432, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1073741824, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_V8ADDS = {
    PackTestEntry{-2147483648, -2147483648, -16777216, -16777216, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-2147483648, 0, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-2147483648, 1, -2147483647, -2147483647, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-2147483648, 1879048192, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1879048192, -16777216, -16777216, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32767, -2147450881, -2147450881, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-2147483648, 32768, -2147450880, -2147450880, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 127, -2147483521, -2147483521, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-2147483648, 128, -2147483520, -2147483520, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-2147483648, 1065353216, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1082130432, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1073741824, -1073741824, -1073741824, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -268435456, -16777216, -16777216, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 2147483647, -16777217, -16777217, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 0, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 1, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1879048192, -268435457, -268435457, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, -1879048192, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 32767, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 32768, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 127, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 128, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1065353216, -1090519041, -1090519041, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, -1082130432, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 1073741824, -1073741825, -1073741825, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, -268435456, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{0, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{0, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{0, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{0, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{0, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 2147483647, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 0, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1879048192, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1879048192, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 32767, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 32768, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 127, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 128, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1065353216, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1082130432, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1073741824, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -268435456, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1, -2147483648, -2147483647, -2147483647, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1, 0, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1, 1, 2, 2, 2, 2, 131072, 131072, 2, 2, 512, 512, 131072, 131072, 33554432, 33554432, 33686018, 33686018},
    PackTestEntry{1, 1879048192, 1879048193, 1879048193, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1, -1879048192, -1879048191, -1879048191, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1, 32768, 32769, 32769, 32767, 32769, 2147418112, -2147418112, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1, 127, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1, 128, 129, 129, 129, 129, 8454144, 8454144, 129, 129, 33024, 33024, 8454144, 8454144, -2130706432, -2130706432, -2122219135, -2122219135},
    PackTestEntry{1, 1065353216, 1065353217, 1065353217, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1, -1082130432, -1082130431, -1082130431, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1, 1073741824, 1073741825, 1073741825, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1, -268435456, -268435455, -268435455, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1879048192, -2147483648, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 2147483647, -268435457, -268435457, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1879048192, 0, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1879048192, 1, 1879048193, 1879048193, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1879048192, 1879048192, -536870912, -536870912, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -1879048192, -16777216, -16777216, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 32767, 1879080959, 1879080959, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1879048192, 32768, 1879080960, 1879080960, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 127, 1879048319, 1879048319, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{1879048192, 128, 1879048320, 1879048320, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{1879048192, 1065353216, -1350565888, -1350565888, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -1082130432, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1073741824, -1342177280, -1342177280, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -268435456, -16777216, -16777216, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -2147483648, -16777216, -16777216, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 2147483647, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1879048192, 0, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1879048192, 1, -1879048191, -1879048191, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-1879048192, 1879048192, -16777216, -16777216, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1879048192, -16777216, -16777216, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32767, -1879015425, -1879015425, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1879048192, 32768, -1879015424, -1879015424, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 127, -1879048065, -1879048065, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-1879048192, 128, -1879048064, -1879048064, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-1879048192, 1065353216, -813694976, -813694976, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1082130432, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1073741824, -805306368, -805306368, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -268435456, -16777216, -16777216, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -2147483648, -2147450881, -2147450881, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 0, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 1, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1879048192, 1879080959, 1879080959, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1879048192, -1879015425, -1879015425, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 32767, 65279, 65279, 32767, 65279, 2147418112, -16842752, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 32768, 65535, 65535, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 127, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 128, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1065353216, 1065385983, 1065385983, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1082130432, -1082097665, -1082097665, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 1073741824, 1073774591, 1073774591, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -268435456, -268402689, -268402689, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32768, -2147483648, -2147450880, -2147450880, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, 0, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32768, 1, 32769, 32769, 32767, 32769, 2147418112, -2147418112, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{32768, 1879048192, 1879080960, 1879080960, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1879048192, -1879015424, -1879015424, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 32767, 65535, 65535, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, 32768, 65280, 65280, 32767, 65280, 2147418112, -16777216, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 127, 32895, 32895, 32767, 32895, 2147418112, -2139160576, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{32768, 128, 32896, 32896, 32767, 32896, 2147418112, -2139095040, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{32768, 1065353216, 1065385984, 1065385984, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1082130432, -1082097664, -1082097664, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1073741824, 1073774592, 1073774592, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -268435456, -268402688, -268402688, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -2147483648, -2147483521, -2147483521, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{127, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{127, 0, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{127, 1, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{127, 1879048192, 1879048319, 1879048319, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{127, -1879048192, -1879048065, -1879048065, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{127, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{127, 32768, 32895, 32895, 32767, 32895, 2147418112, -2139160576, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{127, 127, 254, 254, 254, 254, 16646144, 16646144, 254, 254, 65024, 65024, 16646144, 16646144, -33554432, -33554432, -16843010, -16843010},
    PackTestEntry{127, 128, 255, 255, 255, 255, 16711680, 16711680, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{127, 1065353216, 1065353343, 1065353343, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{127, -1082130432, -1082130305, -1082130305, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{127, 1073741824, 1073741951, 1073741951, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{127, -268435456, -268435329, -268435329, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{128, -2147483648, -2147483520, -2147483520, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{128, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{128, 0, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{128, 1, 129, 129, 129, 129, 8454144, 8454144, 129, 129, 33024, 33024, 8454144, 8454144, -2130706432, -2130706432, -2122219135, -2122219135},
    PackTestEntry{128, 1879048192, 1879048320, 1879048320, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, -1879048192, -1879048064, -1879048064, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{128, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{128, 32768, 32896, 32896, 32767, 32896, 2147418112, -2139095040, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, 127, 255, 255, 255, 255, 16711680, 16711680, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{128, 128, 255, 255, 255, 255, 16711680, 16711680, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{128, 1065353216, 1065353344, 1065353344, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, -1082130432, -1082130304, -1082130304, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{128, 1073741824, 1073741952, 1073741952, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, -268435456, -268435328, -268435328, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{1065353216, -2147483648, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 2147483647, -1090519041, -1090519041, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1065353216, 0, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1065353216, 1, 1065353217, 1065353217, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1065353216, 1879048192, -1350565888, -1350565888, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -1879048192, -813694976, -813694976, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 32767, 1065385983, 1065385983, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1065353216, 32768, 1065385984, 1065385984, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 127, 1065353343, 1065353343, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{1065353216, 128, 1065353344, 1065353344, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{1065353216, 1065353216, 2130640896, 2130640896, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1082130432, -16842752, -16842752, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1073741824, 2139095040, 2139095040, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -268435456, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -2147483648, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 2147483647, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, 0, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, 1, -1082130431, -1082130431, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-1082130432, 1879048192, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1879048192, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32767, -1082097665, -1082097665, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, 32768, -1082097664, -1082097664, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 127, -1082130305, -1082130305, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-1082130432, 128, -1082130304, -1082130304, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-1082130432, 1065353216, -16842752, -16842752, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1082130432, -65536, -65536, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1073741824, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -268435456, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -2147483648, -1073741824, -1073741824, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 2147483647, -1073741825, -1073741825, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1073741824, 0, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1073741824, 1, 1073741825, 1073741825, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1073741824, 1879048192, -1342177280, -1342177280, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -1879048192, -805306368, -805306368, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 32767, 1073774591, 1073774591, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1073741824, 32768, 1073774592, 1073774592, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 127, 1073741951, 1073741951, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{1073741824, 128, 1073741952, 1073741952, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{1073741824, 1065353216, 2139095040, 2139095040, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1082130432, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1073741824, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -268435456, -16777216, -16777216, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -2147483648, -16777216, -16777216, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 2147483647, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, 0, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, 1, -268435455, -268435455, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-268435456, 1879048192, -16777216, -16777216, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1879048192, -16777216, -16777216, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32767, -268402689, -268402689, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, 32768, -268402688, -268402688, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 127, -268435329, -268435329, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-268435456, 128, -268435328, -268435328, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-268435456, 1065353216, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1082130432, -8388608, -8388608, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1073741824, -16777216, -16777216, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -268435456, -16777216, -16777216, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_V8MAX = {
    PackTestEntry{-2147483648, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, -2130706433, -2130706433, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-2147483648, 0, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-2147483648, 1, -2147483647, -2147483647, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-2147483648, 1879048192, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32767, -2147450881, -2147450881, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-2147483648, 32768, -2147450880, -2147450880, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 127, -2147483521, -2147483521, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-2147483648, 128, -2147483520, -2147483520, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-2147483648, 1065353216, -2139095040, -2139095040, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1073741824, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, -2130706433, -2130706433, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 0, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 1, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1879048192, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1879048192, -1862270977, -1862270977, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 32767, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 32768, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 127, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 128, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1065353216, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1082130432, -1073741825, -1073741825, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{2147483647, 1073741824, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -268435456, -251658241, -251658241, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{0, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{0, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{0, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{0, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{0, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 2147483647, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 0, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1879048192, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1879048192, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 32767, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 32768, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 127, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 128, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1065353216, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1082130432, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1073741824, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -268435456, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1, -2147483648, -2147483647, -2147483647, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1, 0, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1879048192, 1879048193, 1879048193, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1, -1879048192, -1879048191, -1879048191, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1, 32768, 32769, 32769, 32767, 32769, 2147418112, -2147418112, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{1, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1, 1065353216, 1065353217, 1065353217, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1, -1082130432, -1082130431, -1082130431, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1, 1073741824, 1073741825, 1073741825, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1, -268435456, -268435455, -268435455, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{1879048192, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1879048192, 0, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1879048192, 1, 1879048193, 1879048193, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1879048192, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 32767, 1879080959, 1879080959, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1879048192, 32768, 1879080960, 1879080960, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 127, 1879048319, 1879048319, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{1879048192, 128, 1879048320, 1879048320, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{1879048192, 1065353216, 1887436800, 1887436800, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1073741824, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -2147483648, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 2147483647, -1862270977, -1862270977, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1879048192, 0, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1879048192, 1, -1879048191, -1879048191, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-1879048192, 1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32767, -1879015425, -1879015425, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1879048192, 32768, -1879015424, -1879015424, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 127, -1879048065, -1879048065, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-1879048192, 128, -1879048064, -1879048064, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-1879048192, 1065353216, -1870659584, -1870659584, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1073741824, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -2147483648, -2147450881, -2147450881, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 0, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 1, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1879048192, 1879080959, 1879080959, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1879048192, -1879015425, -1879015425, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 32768, 33023, 33023, 32767, 33023, 2147418112, -2130771968, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 127, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 128, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1065353216, 1065385983, 1065385983, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1082130432, -1082097665, -1082097665, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32767, 1073741824, 1073774591, 1073774591, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -268435456, -268402689, -268402689, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32768, -2147483648, -2147450880, -2147450880, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, 0, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{32768, 1, 32769, 32769, 32767, 32769, 2147418112, -2147418112, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{32768, 1879048192, 1879080960, 1879080960, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1879048192, -1879015424, -1879015424, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 32767, 33023, 33023, 32767, 33023, 2147418112, -2130771968, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 127, 32895, 32895, 32767, 32895, 2147418112, -2139160576, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{32768, 128, 32896, 32896, 32767, 32896, 2147418112, -2139095040, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{32768, 1065353216, 1065385984, 1065385984, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1082130432, -1082097664, -1082097664, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1073741824, 1073774592, 1073774592, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -268435456, -268402688, -268402688, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -2147483648, -2147483521, -2147483521, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{127, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{127, 0, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{127, 1, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1879048192, 1879048319, 1879048319, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{127, -1879048192, -1879048065, -1879048065, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{127, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{127, 32768, 32895, 32895, 32767, 32895, 2147418112, -2139160576, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{127, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{127, 1065353216, 1065353343, 1065353343, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{127, -1082130432, -1082130305, -1082130305, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{127, 1073741824, 1073741951, 1073741951, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{127, -268435456, -268435329, -268435329, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{128, -2147483648, -2147483520, -2147483520, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{128, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{128, 0, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{128, 1, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1879048192, 1879048320, 1879048320, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, -1879048192, -1879048064, -1879048064, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{128, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{128, 32768, 32896, 32896, 32767, 32896, 2147418112, -2139095040, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, 127, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1065353216, 1065353344, 1065353344, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, -1082130432, -1082130304, -1082130304, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{128, 1073741824, 1073741952, 1073741952, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{128, -268435456, -268435328, -268435328, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{1065353216, -2147483648, -2139095040, -2139095040, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1065353216, 0, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1065353216, 1, 1065353217, 1065353217, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1065353216, 1879048192, 1887436800, 1887436800, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1879048192, -1870659584, -1870659584, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 32767, 1065385983, 1065385983, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1065353216, 32768, 1065385984, 1065385984, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 127, 1065353343, 1065353343, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{1065353216, 128, 1065353344, 1065353344, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{1065353216, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1073741824, 1082130432, 1082130432, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -268435456, -260046848, -260046848, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -2147483648, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 2147483647, -1073741825, -1073741825, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, 0, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, 1, -1082130431, -1082130431, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-1082130432, 1879048192, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1879048192, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32767, -1082097665, -1082097665, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1082130432, 32768, -1082097664, -1082097664, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 127, -1082130305, -1082130305, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-1082130432, 128, -1082130304, -1082130304, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-1082130432, 1065353216, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1073741824, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -268435456, -260046848, -260046848, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1073741824, 0, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{1073741824, 1, 1073741825, 1073741825, 32767, 1, 2147418112, 65536, 255, 1, 65280, 256, 16711680, 65536, -16777216, 16777216, -1, 16843009},
    PackTestEntry{1073741824, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 32767, 1073774591, 1073774591, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1073741824, 32768, 1073774592, 1073774592, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 127, 1073741951, 1073741951, 32767, 127, 2147418112, 8323072, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{1073741824, 128, 1073741952, 1073741952, 32767, 128, 2147418112, 8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{1073741824, 1065353216, 1082130432, 1082130432, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -2147483648, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 2147483647, -251658241, -251658241, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, 0, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, 1, -268435455, -268435455, 32768, 1, -2147483648, 65536, 0, 1, 0, 256, 0, 65536, 0, 16777216, 0, 16843009},
    PackTestEntry{-268435456, 1879048192, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1879048192, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32767, -268402689, -268402689, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-268435456, 32768, -268402688, -268402688, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 127, -268435329, -268435329, 32768, 127, -2147483648, 8323072, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-268435456, 128, -268435328, -268435328, 32768, 128, -2147483648, 8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-268435456, 1065353216, -260046848, -260046848, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1082130432, -260046848, -260046848, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1073741824, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_V8MIN = {
    PackTestEntry{-2147483648, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, 2130706432, 2130706432, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, -1879048192, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1065353216, 1056964608, 1056964608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, -1082130432, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, -268435456, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, 2130706432, 2130706432, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -1, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{2147483647, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -1879048192, 2130706432, 2130706432, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{2147483647, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{2147483647, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -1082130432, 2139095040, 2139095040, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -268435456, 2130706432, 2130706432, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{-1, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{-1, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 2147483647, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 32767, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 127, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 128, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -2147483648, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 2147483647, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -1, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1065353216, 1056964608, 1056964608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1082130432, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -268435456, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 2147483647, 2130706432, 2130706432, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1065353216, 1056964608, 1056964608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -1082130432, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -268435456, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 2147483647, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -1, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{32767, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 32768, 32512, 32512, 32512, 32512, 2130706432, 2130706432, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{32767, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{32767, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 2147483647, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 32767, 32512, 32512, 32512, 32512, 2130706432, 2130706432, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 2147483647, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -1, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{127, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 32767, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 128, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 2147483647, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -1, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{128, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 32767, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{128, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -2147483648, 1056964608, 1056964608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 2147483647, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -1, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1879048192, 1056964608, 1056964608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1879048192, 1056964608, 1056964608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1082130432, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1073741824, 1056964608, 1056964608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -268435456, 1056964608, 1056964608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 2147483647, 2139095040, 2139095040, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -268435456, -1090519040, -1090519040, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -2147483648, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 2147483647, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -1, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1879048192, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1879048192, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1065353216, 1056964608, 1056964608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1082130432, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -268435456, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 2147483647, 2130706432, 2130706432, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1065353216, 1056964608, 1056964608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -1082130432, -1090519040, -1090519040, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_V8MULD = {
    PackTestEntry{-2147483648, -2147483648, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, 2147483647, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1879048192, 939524096, 939524096, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, -1879048192, 1207959552, 1207959552, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1065353216, 536870912, 536870912, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, -1082130432, 1610612736, 1610612736, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, 1073741824, 536870912, 536870912, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, -268435456, 2013265920, 2013265920, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -2147483648, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 2147483647, 1073741823, 1073741823, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -1, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{2147483647, 1879048192, 939524096, 939524096, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -1879048192, 1207959552, 1207959552, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{2147483647, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{2147483647, 1065353216, 528482304, 528482304, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -1082130432, 1602224128, 1602224128, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 1073741824, 536870912, 536870912, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, -268435456, 2013265920, 2013265920, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 2147483647, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -1, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{-1, 1879048192, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, -1879048192, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 32767, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 32768, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{-1, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{-1, 1065353216, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, -1082130432, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1, -268435456, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 2147483647, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 32767, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 128, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -2147483648, 939524096, 939524096, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 2147483647, 939524096, 939524096, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -1, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1879048192, 822083584, 822083584, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1879048192, 1056964608, 1056964608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1065353216, 469762048, 469762048, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1082130432, 1409286144, 1409286144, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1073741824, 469762048, 469762048, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -268435456, 1761607680, 1761607680, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -2147483648, 1207959552, 1207959552, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 2147483647, 1207959552, 1207959552, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1879048192, 1056964608, 1056964608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -1879048192, 1358954496, 1358954496, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1065353216, 603979776, 603979776, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -1082130432, 1811939328, 1811939328, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 1073741824, 603979776, 603979776, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -268435456, -2013265920, -2013265920, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 2147483647, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -1, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{32767, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 32767, 16383, 16383, 16383, 16383, 1073676288, 1073676288, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 32768, 16384, 16384, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32767, 127, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{32767, 128, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{32767, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 2147483647, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 32767, 16384, 16384, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 32768, 16384, 16384, 16384, 16384, 1073741824, 1073741824, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 2147483647, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -1, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 32767, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 127, 63, 63, 63, 63, 4128768, 4128768, 63, 63, 16128, 16128, 4128768, 4128768, 1056964608, 1056964608, 1061109567, 1061109567},
    PackTestEntry{127, 128, 64, 64, 64, 64, 4194304, 4194304, 64, 64, 16384, 16384, 4194304, 4194304, 1073741824, 1073741824, 1077952576, 1077952576},
    PackTestEntry{127, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 2147483647, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -1, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{128, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 32767, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 127, 64, 64, 64, 64, 4194304, 4194304, 64, 64, 16384, 16384, 4194304, 4194304, 1073741824, 1073741824, 1077952576, 1077952576},
    PackTestEntry{128, 128, 64, 64, 64, 64, 4194304, 4194304, 64, 64, 16384, 16384, 4194304, 4194304, 1073741824, 1073741824, 1077952576, 1077952576},
    PackTestEntry{128, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -2147483648, 536870912, 536870912, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 2147483647, 528482304, 528482304, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -1, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1879048192, 469762048, 469762048, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1879048192, 603979776, 603979776, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1065353216, 272629760, 272629760, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1082130432, 792723456, 792723456, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1073741824, 268435456, 268435456, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -268435456, 989855744, 989855744, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -2147483648, 1610612736, 1610612736, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 2147483647, 1602224128, 1602224128, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1879048192, 1409286144, 1409286144, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -1879048192, 1811939328, 1811939328, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1065353216, 792723456, 792723456, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -1082130432, -1891631104, -1891631104, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1073741824, 805306368, 805306368, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -268435456, -1275068416, -1275068416, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -2147483648, 536870912, 536870912, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 2147483647, 536870912, 536870912, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -1, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1879048192, 469762048, 469762048, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1879048192, 603979776, 603979776, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1065353216, 268435456, 268435456, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1082130432, 805306368, 805306368, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1073741824, 268435456, 268435456, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -268435456, 1006632960, 1006632960, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -2147483648, 2013265920, 2013265920, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 2147483647, 2013265920, 2013265920, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1879048192, 1761607680, 1761607680, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -1879048192, -2013265920, -2013265920, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1065353216, 989855744, 989855744, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -1082130432, -1275068416, -1275068416, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1073741824, 1006632960, 1006632960, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, -268435456, -503316480, -503316480, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

static const std::vector<PackTestEntry> TEST_PACK_V8SUBS = {
    PackTestEntry{-2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 2147483647, 16777216, 16777216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, 0, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1879048192, 268435456, 268435456, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32767, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 32768, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 127, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 128, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1065353216, 1090519040, 1090519040, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-2147483648, 1073741824, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-2147483648, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, -2147483648, 16777215, 16777215, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 0, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{2147483647, 1, 2147483646, 2147483646, 32767, 65534, 2147418112, -131072, 255, 254, 65280, 65024, 16711680, 16646144, -16777216, -33554432, -1, -16843010},
    PackTestEntry{2147483647, 1879048192, 268435455, 268435455, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1879048192, 16777215, 16777215, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 32767, 2147450880, 2147450880, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{2147483647, 32768, 2147450879, 2147450879, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 127, 2147483520, 2147483520, 32767, 65408, 2147418112, -8388608, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{2147483647, 128, 2147483519, 2147483519, 32767, 65407, 2147418112, -8454144, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{2147483647, 1065353216, 1082130431, 1082130431, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -1082130432, 8388607, 8388607, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, 1073741824, 1073741823, 1073741823, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{2147483647, -268435456, 16777215, 16777215, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{0, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, -2147483648, 2147483647, 2147483647, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 2147483647, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 0, -1, -1, 65535, 65535, -65536, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 1, -2, -2, 65534, 65534, -131072, -131072, 0, 254, 0, 65024, 0, 16646144, 0, -33554432, 0, -16843010},
    PackTestEntry{-1, 1879048192, -1879048193, -1879048193, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1879048192, 1879048191, 1879048191, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 32767, -32768, -32768, 32768, 32768, -2147483648, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1, 32768, -32769, -32769, 32768, 32767, -2147483648, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, 127, -128, -128, 65408, 65408, -8388608, -8388608, 0, 128, 0, 32768, 0, 8388608, 0, -2147483648, 0, -2139062144},
    PackTestEntry{-1, 128, -129, -129, 65407, 65407, -8454144, -8454144, 0, 127, 0, 32512, 0, 8323072, 0, 2130706432, 0, 2139062143},
    PackTestEntry{-1, 1065353216, -1065353217, -1065353217, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -1082130432, 1082130431, 1082130431, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{-1, 1073741824, -1073741825, -1073741825, 32768, 65535, -2147483648, -65536, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1},
    PackTestEntry{-1, -268435456, 268435455, 268435455, 32767, 65535, 2147418112, -65536, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{1, -2147483648, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 0, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1879048192, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1879048192, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 32768, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1, 1065353216, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -1082130432, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, 1073741824, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1, -268435456, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{1879048192, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 0, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 32767, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 32768, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 127, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 128, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, 1065353216, 822083584, 822083584, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1879048192, 1073741824, 805306368, 805306368, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1879048192, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -2147483648, 268435456, 268435456, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 2147483647, 285212672, 285212672, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, 0, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1879048192, 536870912, 536870912, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32767, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 32768, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 127, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 128, -1879048192, -1879048192, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1065353216, 1358954496, 1358954496, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1879048192, 1073741824, 1342177280, 1342177280, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1879048192, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, -2147483648, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 0, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 1, 32766, 32766, 32766, 32766, 2147352576, 2147352576, 255, 254, 65280, 65024, 16711680, 16646144, -16777216, -33554432, -1, -16843010},
    PackTestEntry{32767, 1879048192, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1879048192, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32767, 32768, 255, 255, 255, 255, 16711680, 16711680, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 127, 32640, 32640, 32640, 32640, 2139095040, 2139095040, 255, 128, 65280, 32768, 16711680, 8388608, -16777216, -2147483648, -1, -2139062144},
    PackTestEntry{32767, 128, 32639, 32639, 32639, 32639, 2139029504, 2139029504, 255, 127, 65280, 32512, 16711680, 8323072, -16777216, 2130706432, -1, 2139062143},
    PackTestEntry{32767, 1065353216, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -1082130432, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, 1073741824, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32767, -268435456, 32767, 32767, 32767, 32767, 2147418112, 2147418112, 255, 255, 65280, 65280, 16711680, 16711680, -16777216, -16777216, -1, -1},
    PackTestEntry{32768, -2147483648, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 0, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 1, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1879048192, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1879048192, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 32767, 256, 256, 256, 256, 16777216, 16777216, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{32768, 127, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 128, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1065353216, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -1082130432, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, 1073741824, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{32768, -268435456, 32768, 32768, 32767, 32768, 2147418112, -2147483648, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{127, -2147483648, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 0, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 1, 126, 126, 126, 126, 8257536, 8257536, 126, 126, 32256, 32256, 8257536, 8257536, 2113929216, 2113929216, 2122219134, 2122219134},
    PackTestEntry{127, 1879048192, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1879048192, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 32768, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{127, 1065353216, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -1082130432, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, 1073741824, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{127, -268435456, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{128, -2147483648, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 0, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1, 127, 127, 127, 127, 8323072, 8323072, 127, 127, 32512, 32512, 8323072, 8323072, 2130706432, 2130706432, 2139062143, 2139062143},
    PackTestEntry{128, 1879048192, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1879048192, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 32767, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 32768, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 127, 1, 1, 1, 1, 65536, 65536, 1, 1, 256, 256, 65536, 65536, 16777216, 16777216, 16843009, 16843009},
    PackTestEntry{128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{128, 1065353216, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -1082130432, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, 1073741824, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{128, -268435456, 128, 128, 128, 128, 8388608, 8388608, 128, 128, 32768, 32768, 8388608, 8388608, -2147483648, -2147483648, -2139062144, -2139062144},
    PackTestEntry{1065353216, -2147483648, 8388608, 8388608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 0, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1879048192, 8388608, 8388608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -1879048192, 8388608, 8388608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 32767, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 32768, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 127, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 128, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, 1065353216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1065353216, 1073741824, 8388608, 8388608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1065353216, -268435456, 8388608, 8388608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -2147483648, 1065353216, 1065353216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 2147483647, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 0, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1879048192, 1333788672, 1333788672, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -1879048192, 796917760, 796917760, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, 32767, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 32768, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 127, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 128, -1082130432, -1082130432, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1065353216, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-1082130432, 1073741824, 2139095040, 2139095040, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-1082130432, -268435456, 8388608, 8388608, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 2147483647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 0, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -1879048192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 32767, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 32768, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 127, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 128, 1073741824, 1073741824, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, 1065353216, 16777216, 16777216, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{1073741824, -1082130432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, 1073741824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{1073741824, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -2147483648, 1879048192, 1879048192, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 2147483647, 1895825408, 1895825408, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 0, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1879048192, -2147483648, -2147483648, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1879048192, 1610612736, 1610612736, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 32767, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 32768, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 127, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 128, -268435456, -268435456, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, 1065353216, -1325400064, -1325400064, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -1082130432, 822083584, 822083584, 32767, 0, 2147418112, 0, 255, 0, 65280, 0, 16711680, 0, -16777216, 0, -1, 0},
    PackTestEntry{-268435456, 1073741824, -1342177280, -1342177280, 32768, 0, -2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
    PackTestEntry{-268435456, -268435456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
};

